1、環境准備
虛擬機:centos 7 ip:192.168.137.128
php-7.4.8.tar.gz
2、開始安裝
添加php用戶,用於運行php-fpm進程
useradd php -s /sbin/nologin
解壓php源碼包
tar -zxf php-7.4.8.tar.gz
安裝依賴包
yum install libxml2-devel sqlite-devel libcurl-devel oniguruma-devel libpng-devel libjpeg-devel freetype-devel libzip-devel openssl-devel -y
編譯參數參考
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mhash --with-openssl --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv --with-zlib --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-bcmath --enable-shmop --enable-sysvsem --enable-gd --with-jpeg --with-freetype --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-opcache --enable-fpm --with-fpm-user=php --with-fpm-group=php --without-gdbm --enable-fast-install --disable-fileinfo
編譯沒有問題就開始安裝
[root@swarm-node1 php-7.4.8]# make && make install
編譯安裝完成
復制相關配置文件到php安裝路徑
啟動腳本:php-7.4.8/sapi/fpm/init.d.php-fpm
[root@swarm-node1 fpm]# cp init.d.php-fpm /usr/local/php/
php.ini配置文件:php-7.4.8/php.ini-production
[root@swarm-node1 php-7.4.8]# cp php.ini-production /usr/local/php/etc/php.ini
創建php-fpm.conf配置文件
進到php的安裝路徑下面的etc
[root@swarm-node1 etc]# pwd /usr/local/php/etc [root@swarm-node1 etc]# [root@swarm-node1 etc]# ls php-fpm.conf.default php-fpm.d php.ini [root@swarm-node1 etc]# cp php-fpm.conf.default php-fpm.conf
進入php-fpm.d目錄,將里面的文件也重命名一下
[root@swarm-node1 php-fpm.d]# pwd /usr/local/php/etc/php-fpm.d [root@swarm-node1 php-fpm.d]# [root@swarm-node1 php-fpm.d]# ls www.conf.default [root@swarm-node1 php-fpm.d]# [root@swarm-node1 php-fpm.d]# cp www.conf.default www.conf
啟動php-fpm
執行init.d.php-fpm啟動腳本,啟動php-fpm
[root@swarm-node1 php]# bash init.d.php-fpm start
測試安裝是否成功,可結合nginx配置一個index.php 寫一個phpinfo的測試頁面
nginx location 段配置文件
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi.conf; }
index.php 配置文件
[root@swarm-node1 html]# cat index.php <?php phpinfo() ?> [root@swarm-node1 html]# [root@swarm-node1 html]#
啟動nginx,訪問網頁