1. 為什么升級至php7
a.安全需要
過早以至於不維護的php版本難免會有未修補的漏洞,安全性要求較高的行業是要及時升級的。
b.性能提升(開啟opcache hugepage)
據說性能提升一倍,那升級后使用的服務器資源就會減少,間接產生經濟效益。
c.效率提升
流行的php框架之所以流行,那是實實在在的提升了開發人員的開發速度,有些框架是不支持php較低版本的(如laravel)。
2. 如何升級至php7
a.環境升級
這個不過多介紹,網上搜 升級 php7,一大堆講解的都是怎么講卸載 安裝 php的。
需要注意的是升級之前要記錄舊版php安裝的擴展,是否有自定義擴展,php.ini php-fpm.conf 配置文件記得備份保存。
b.代碼升級
主要說下php7版本升級后,代碼需要變更。因為不是把php環境一升級就可以了,php7廢棄了一些不安全,使用混亂,或者性能低下的函數,統一了一些規范。我們項目中如果使用了這些函數,就要修改替換。
我怎么知道我的代碼中那些函數廢棄了呢?一個一個搜索出來替換?
看看這兩個開源的php兼容性檢測工具
php7cc 性能快,使用簡便,但是原作者4年前已不維護,此版是我增加了php7.0-php7.3 廢棄函數檢測的fork版本。
使用方法,composer安裝后 執行下php命令就行了,如下:顯示了 文件位置,出錯行數,錯誤原因,(下圖是php7不支持文件名同名的構造函數報錯)
有了檢測工具,我們就可以一邊修改一邊檢測,直至沒有錯誤報告產生,是不是有點TDD的趕腳。
具體改動函數參考下面這篇整理很好的文章:
參考:
https://blog.csdn.net/weixin_34072857/article/details/91840761