环境说明:nginx+php
无需删除旧的php5版本,升级步骤如下:
0、,关闭php-fpm(如果有)
service php-fpm stop 1、拉取php7.1.10 tar包 $wget -c http://php.net/distributions/php-7.1.10.tar.gz -O php-7.1.10.tar.gz 2、解压并进入 $tar -zxvf php-7.1.10.tar.gz $cd php-7.1.10 3、编译(参数可以根据需要修改) $./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-iconv-dir=/usr --enable-safe-mode -enable-fastcgi -enable-force-cgi-redirect --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --enable-sockets --with-mysqli=mysqlnd --with-openssl --enable-soap --enable-mbstring --enable-mbregex --enable-sqlite-utf8 --enable-zip --with-freetype-dir=/usr --enable-fpm --with-curl --enable-opcache --with-mcrypt --enable-xml --enable-session --enable-ftp --with-mhash --enable-pcntl --with-gettext --with-gettext --enable-bcmath --with-zlib --with-pdo-mysql --enable-sysvshm --enable-sysvsem --enable-shmop4、安装
make && make install (如果提示libiconv模块相关错误,可尝试使用如下命令安装 $make ZEND_EXTRA_LIBS='-liconv' && make install) 5、修复配置 1)将扩展放到/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303(根据php.ini配置的扩展目录存放) 2)将配置文件放到/usr/local/php/etc 3)nginx下站点配置修改:fastcgi_pass 127.0.0.1:9000; 6、重启验证 service php-fpm restart service nginx reload 访问已配置的站点即可 如果出现502 bad gateway 一般都是nginx配置或者文件权限问题 其他注意: 1、php7.1.0以上版本已经废弃了mcrypt扩展的加解密相关函数,如mcrypt_encrypt、mcrypt_get_iv_size、mcrypt_create_iv等,官方:http://php.net/manual/en/function.mcrypt-encrypt.php#117667 目前有的替换解决方案:使用openssl_encrypt、openssl_decrypt,使用起来更方便简洁,网上解决方案地址:https://www.ctolib.com/topics-122535.html 记得开启php_openssl扩展