LNMP環境搭建 PHP編譯安裝

2021-10-25 19:28:12 字數 4477 閱讀 4702

準備工作

php 官網位址 :

mysql 官網位址 :

php 安裝

先安裝一些通常來說應該已經有的元件,以防沒有可以檢查並安裝一下

yum -y install gcc automake autoconf libtool make gcc-c++ glibc
安裝依賴庫

yum -y install libmcrypt-devel mhash-devel libxslt-devel \

libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \

zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \

ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \

krb5 krb5-devel libidn libidn-devel openssl openssl-devel

若有錯誤yum [errno 256] no more mirrors to try 解決方法輸入下面的命令即可解決問題:

yum clean all
解壓tar vxf mirror,會解壓為php-7.2.16檔案;

進入檔案安裝cd php-7.2.16執行:

./configure \

--prefix=/usr/local/php \

--with-config-file-path=/usr/local/php \

--enable-sockets \

--enable-fpm \

--enable-mbstring \

--enable-pcntl \

--enable-soap \

--enable-opcache \

--disable-fileinfo \

--with-openssl \

--with-curl \

--with-mhash \

--with-gd \

--with-jpeg-dir \

--with-png-dir \

--with-freetype-dir \

--enable-zip \

--with-zlib \

--enable-******xml \

--with-libxml-dir \

--disable-debug \

--enable-inline-optimization \

--with-bz2 \

--enable-sysvsem \

--enable-sysvshm \

--enable-mbregex \

--with-pcre-regex \

--with-mysqli \

--with-pdo-mysql

--prefix=/usr/local/php7 # 配置安裝目錄

--with-config-file-path=/usr/local/php7 # 配置檔案 php.ini 的路徑

--enable-sockets # 開啟 socket

--enable-fpm # 啟用 fpm 擴充套件

--enable-cli # 啟用 命令列模式 (從 php 4.3.0 之後這個模組預設開啟所以可以不用再加此命令)

--enable-mbstring # 啟用 mbstring 庫

--enable-pcntl # 啟用 pcntl (僅 cli / cgi)

--enable-soap # 啟用 soap

--enable-opcache # 開啟 opcache 快取

--disable-fileinfo # 禁用 fileinfo (由於 5.3+ 之後已經不再持續維護了,但預設是開啟的,所以還是禁止了吧)(1g以下記憶體伺服器直接關了吧)

--disable-rpath #禁用在搜尋路徑中傳遞其他執行庫。

--with-mysqli # 啟用 mysqli 擴充套件

--with-pdo-mysql # 啟用 pdo 擴充套件

--with-iconv-dir # 啟用 xmlrpc-epi 字元編碼轉換 擴充套件

--with-openssl # 啟用 openssl 擴充套件 (需要 openssl openssl-devel)

--with-fpm-user=www #設定 fpm 所屬的使用者

--with-fpm-group=www #設定 fpm 所屬的組別

--with-curl # 啟用 curl 擴充套件

--with-mhash # 開啟 mhash 基於離散數學原理的不可逆向的php加密方式擴充套件庫

# gd

--with-gd # 啟用 gd 操作 擴充套件

--with-jpeg-dir # 開啟對 jpeg 的支援 (需要 libjpeg)

--with-png-dir # 開啟對 png 支援 (需要 libpng)

--with-freetype-dir # 開啟 freetype

# 壓縮

--enable-zip # 啟用 zip

--with-zlib # 啟用對 zlib 支援

# xml

--enable-******xml # 啟用對 ******xml 支援

--with-libxml-dir # 啟用對 libxml2 支援

如果出現報錯 先刪除(那個擴充套件報錯刪除那個),後續在裝擴充套件;

錯誤 :cc: internal error: killed (program cc1)記憶體不足,臨時使用交換分割槽來解決吧

free -m

sudo dd if=/dev/zero of=/swapfile bs=64m count=16

sudo mkswap /swapfile

sudo swapon /swapfile

#編譯完成,可以取消交換分割槽

sudo swapoff /swapfile

sudo rm /swapfile

free -m

7.3 錯誤:configure: error: off_t undefined;checkyour library configuration

vim /etc/ld.so.conf 

#新增如下幾行

/usr/local/lib64

/usr/local/lib

/usr/lib

/usr/lib64

#儲存退出

:wqldconfig -v # 使之生效

執行安裝make && make install;

配置php-fpm

7.1 從解壓檔案中複製php.ini配置檔案

cd /dowload/php-7.3.9

cp php.ini-production /usr/local/php/php.ini

7.2 從解壓檔案中複製啟動指令碼

cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

7.3 修改配置檔案

cd /usr/local/php/etc

cp php-fpm.conf.default php-fpm.conf

vim php-fpm.conf # 去掉pid = run/php-fpm.pid前面的分號。:wq! 儲存並退出。

cd php-fpm.d

cp www.conf.default www.conf

建立 使用者 和 組

groupadd www

useradd www

/etc/init.d/php-fpm start       #php-fpm啟動命令

/etc/init.d/php-fpm stop #php-fpm停止命令

/etc/init.d/php-fpm restart #php-fpm重啟命令

ps -ef | grep php #檢視是否已經成功啟動php

測試/usr/local/php/bin/php phpinfo.php輸出php相關就ok

演示站 : 賬號:demo 密碼:crmeb.com

LNMP環境搭建篇 PHP7 2編譯安裝

此前對公司下屬的本地化專案執行環境進行了部署,整體更新迭代到最新的穩定版,此處就整體以乙個小系列進行分析整理。各元件的版本如下 centos 7.4 nginx 1.14.0 mysql 8.0.11 php 7.2.8 新建儲存目錄 存放專案執行目錄 mkdir p data wwwroot 存放...

lnmp環境搭建 php部分

解壓包tar xzvf php 5.4 3.tar gz cd php 5.4 3 編譯安裝 configure prefix usr local php54 with config file path usr local php54 etc enable inline optimization d...

搭建本地LNMP開發環境(4) 安裝PHP

php同樣即可以編譯原始碼安裝,又可以使用包管理工具安裝,這裡使用後者。debian官方源提供的php版本可能會比較老,如果希望使用比較新的php版本,可以通過修改apt源的方式解決。開始執行wheezy 連線到debian 輸入php v 可以看到還沒有安裝php 這裡使用比較新的php版本,由d...