CentOS 下編譯安裝 PHP7.2(nginx 版)

huxiaobai_001發表於2020-03-12

歡迎閱讀centos下手動編譯安裝php7.2教程

yum也好rpm也好安裝php的步驟so easy 今天教大家如何手動編譯安裝php7.2

1.安裝wget命令

yum install wget

2.在/usr/local/src目錄下下載php原始碼包

wget https://www.php.net/distributions/php-7.2.28.tar.gz

下載地址可以去php官網複製一個
解壓原始碼包

tar -zxvf php-7.2.28.tar.gz

3.安裝編譯php需要的依賴包

yum install gcc autoconf gcc-c++
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel
yum install systemd-devel
yum install openjpeg-devel

新增php-fpm使用者
建立群組

groupadd php-fpm

建立一個使用者,不允許登陸和不創主目錄

useradd -s /sbin/nologin -g php-fpm -M php-fpm

編譯開始:

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-xmlreader \
--enable-xmlwriter \
--enable-soap \
--enable-calendar \
--with-curl \
--with-zlib \
--with-gd \
--with-pdo-sqlite \
--with-pdo-mysql \
--with-mysqli \
--with-mysql-sock \
--enable-mysqlnd \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--enable-exif \
--enable-bcmath \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-openssl \
--enable-ftp \
--with-kerberos \
--with-gettext \
--with-xmlrpc \
--with-xsl \
--enable-fpm \
--with-fpm-user=php-fpm \
--with-fpm-group=php-fpm \
--with-fpm-systemd \
--disable-fileinfo

執行編譯:

make && make install

4.後續配置

php-ini:
原始碼包裡面有配置檔案:
php.ini-development 測試開發環境
php.ini-production 生產環境
複製一份到指定的目錄下(根據自己的情況選用,自己可以對比下這兩個檔案的差異):

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

php-fpm複製一份新的php-fpm配置檔案:

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf

配置錯誤日誌:

error_log = /usr/local/php/var/php-fpm.log

配置pid檔案:

pid = /usr/local/php/var/run/php-fpm.pid

儲存退出

cd /usr/local/php/etc/php-fpm.d
cp www.conf.default  www.conf

管理php-fpm配置:

cd /usr/local/src/php-7.2.28
cp ./sapi/fpm/php-fpm.service 到 /usr/lib/systemd/system/下

配置開機啟動php-fpm:

systemctl enable php-fpm

啟動php-fpm:

systemctl start php-fpm

檢視狀態:

systemctl status php-fpm

新增環境變數:

vim  /etc/profile

在末尾追加:

export PATH=$PATH:'/usr/local/php/bin/'

儲存退出。

source /etc/profile

測試:

php -v

如圖所示:
CentOS 下編譯安裝 PHP7.2

如果需要區分web和cli環境,可以將 /usr/local/php/etc/php.ini 複製一份,重新命名為php-cli.ini

cp /usr/local/php/etc/php.ini  /usr/local/php/etc/php-cli.ini

需要調整配置,就在各自的配置檔案中進行調整即可。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

胡軍

相關文章