PHP7.3.10编译安装
配置安装环境(裸机):centos7.4
下载指定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
6.Nginx配置支持PHP
确保启动PHP和NGINX的用户和用户组一致,这样可避免一些访问权限问题
/usr/local/php/etc/php-fpm.d/www.conf 的 user、group
nginx nginx.conf 中的use 使用的用户,一般在该配置文件头
7.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;
}
}