php5.6升級到php7.1.10(Linux環境)

環境說明:nginx+phpphp

無需刪除舊的php5版本,升級步驟以下:html

0、,關閉php-fpm(若是有)
service php-fpm stopmysql


一、拉取php7.1.10 tar包
$wget -c http://php.net/distributions/php-7.1.10.tar.gz -O php-7.1.10.tar.gznginx


二、解壓並進入
$tar -zxvf php-7.1.10.tar.gz 
$cd php-7.1.10sql


三、編譯(參數能夠根據須要修改)
$./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-shmopsession

四、安裝
make && make install
(若是提示libiconv模塊相關錯誤,可嘗試使用以下命令安裝 
$make ZEND_EXTRA_LIBS='-liconv' && make install)php7


五、修復配置
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;curl


六、重啓驗證
service php-fpm restart
service nginx reload 
訪問已配置的站點便可
若是出現502 bad gateway 通常都是nginx配置或者文件權限問題socket


其餘注意:
一、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擴展函數

相關文章
相關標籤/搜索