1. 必须扩展安装
yum remove libzip -y
wget http://103.40.19.56/lnmp/libzip-1.3.2.tar.gz
tar -zxvf libzip-1.3.2.tar.gz
cd libzip-1.3.2
./configure
make
make install
yum -y install curl-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel openssl openssl-devel sqlite-devel php-mbstring
  1. 下载php安装包
    php-7.3.2.tar.gz
wget -c http://hk1.php/get/php-7.3.2.tar.gz/from/this/mirror -O php-7.3.2.tar.gz
  1. 安装
tar -zxvf php-7.3.2.tar.gz
cd php-7.3.2
./configure   --prefix=/usr/local/php   --with-config-file-path=/usr/local/php/etc  --with-png-dir=/usr/local/libpng   --with-jpeg-dir=/usr/local/jpeg   --with-freetype-dir=/usr/local/freetype   --with-zlib-dir=/usr/local/zlib   --with-libxml-dir=/usr/local/libxml2/   --with-iconv-dir=/usr/local/libiconv   --enable-libxml   --enable-xml   --enable-bcmath   --enable-shmop   --enable-sysvsem   --enable-inline-optimization   --enable-opcache   --enable-mbregex   --enable-fpm   --enable-mbstring=all   --with-openssl   --enable-pcntl   --enable-sockets   --with-xmlrpc   --enable-zip   --enable-soap   --without-pear   --with-gettext   --enable-session   --with-curl   --enable-ctype   --enable-shared   --with-gd   --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock
make clean
make
make install
  1. 注意php7.2不支持--with-mcrypt=/usr/local/libmcrypt--enable-gd-native-ttf这两个选项。官方建议用openssl_*系列函数代替Mcrypt_*系列的函数

  2. 将源码中的php.ini-development复制到给php.ini指定路径下

cp php.ini-development /usr/local/php/etc/php.ini
  1. 复制一份php-fpm配置文件,并命名为php-fpm.conf
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
  1. 如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击
vim /usr/local/php/etc/php.ini
cgi.fix_pathinfo=0
  1. 修改用户和组
cd  /usr/local/php/etc/php-fpm.d
cp www.conf.default  www.conf
vim www.conf

  1. 启php服务
/usr/local/php/sbin/php-fpm
  1. 将php命令加入到环境变量中
vim /etc/profile

source /etc/profile
  1. 如果想在命令行下运行php,需要将可执行文件复制到环境变量下:
cp /usr/local/php/bin/php  /usr/local/bin/php
php -m

更多推荐

php7.3.2编译安装及配置教程