php7.3.10編譯安裝
配置安裝環境(裸機): centos7.2
下載指定PHP版本源碼包
-
github
https://github.com/php/php-src.git
-
download
https://www.php.net/downloads.php
su - root && cd ~/
wget https://www.php.net/distributions/php-7.3.10.tar.gz
# 解壓源碼包
tar -xzvf php-7.3.10.tar.gz
cd php-7.3.10/
1.配置安裝所需環境
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
2.安裝位置配置以及啓用拓展
./configure --prefix=/usr/local/php --exec-prefix=/usr/local/php --with-mysqli --with-pdo-mysql --with-gd --bindir=/usr/local/php/bin --sbindir=/usr/local/php/sbin --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php --mandir=/usr/local/php/php/man --with-config-file-path=/usr/local/php/etc --with-openssl --enable-mbstring --enable-fpm --enable-bcmath
3.編譯並安裝
make && make install
4.配置PHP使用
# 拷貝php配置文件
cp php.ini-production /usr/local/php/etc/php.ini
#拷貝php-fpm服務並賦予執行權限
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
# 拷貝php-fpm進程服務的配置文件和擴展配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
# 配置安裝目錄(可選)
vi /usr/local/php/etc/php-fpm.conf
# php-fpm.conf最後一行,include的路徑要對應於自己的安裝目錄 shift + g 跳最後一行 ,gg第一行
include=/usr/local/php/etc/php-fpm.d/*.conf
# 設置php環境變量
vi /etc/profile.d/php.sh
export PATH=$PATH:/usr/local/php/bin/:/usr/local/php/sbin/
source /etc/profile.d/php.sh
# 設置PHP環境命令快捷方式 php -v
ln -s /usr/local/php/bin/php /usr/bin/php
5.啓動php-fpm
service php-fpm start
# 設置php-fpm開機啓動
chkconfig php-fpm on
5.Nginx配置支持PHP
確保啓動PHP和NGINX的用戶和用戶組一致,這樣可避免一些訪問權限問題
/usr/local/php/etc/php-fpm.d/www.conf 的 user、group
nginx nginx.conf 中的use 使用的用戶,一般在該配置文件頭
6.Nginx配置關鍵
server {
#你的其他配置
...
location / {
root html;
index index.html index.htm index.php; # 加入PHP
}
# 配置CGI訪問入口
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000; # 或者socks套接字鏈接,一般在/tmp目錄下
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
參考:https://blog.csdn.net/zxlfysj2/article/details/88700347