phpcmsv9mysql扩展_phpcmsV9升级到php7.1+mysql5.6+nginx1.9迁移步骤nginx中文伪静态rewrite配置...
最近將phpcmsV9升級至php7.1,中間踩過一些坑,這里列出來給大家參考下。
1. 遷移至php7.1+mysql5.6+nginx的修改項目
已修改 : /phpcms/libs/classes/checkcode.class.php
已修改 : /phpcms/libs/classes/db_factory.class.php
已增加 : /phpcms/libs/classes/db_mysqli.class.php
已修改 : /phpcms/libs/classes/model.class.php
已修改 : /phpcms/libs/classes/template_cache.class.php
已修改 : /phpcms/libs/classes/update.class.php
已修改 : /phpcms/libs/functions/global.func.php
已修改 : /phpcms/modules/admin/cache_all.php
已修改 : /phpcms/modules/content/fields/editor/output.inc.php
已修改 : /phpcms/modules/content/fields/title/output.inc.php
2. 函數htmlspecialchars()在php7下嚴格校驗編碼,導致空白,修改為new_html_special_chars()方法:
已修改 : /phpcms/modules/content/fields/content_form.class.php
已修改 : /phpcms/modules/content/fields/omnipotent/field_edit_form.inc.php
已修改 : /phpcms/modules/content/fields/textarea/field_edit_form.inc.php
已修改 : /phpcms/modules/yp/fields/omnipotent/field_edit_form.inc.php
已修改 : /phpcms/modules/yp/fields/textarea/field_edit_form.inc.php
已修改 : /phpcms/modules/yp/fields/title/output.inc.php
已修改 : /phpcms/modules/yp/fields/yp_form.class.php
所有以上修改/增加的文件,均在下面壓縮包中,建議下載后對比查看,不建議直接替換;
其中global.func.php僅修改不可替換,請自行對比文件改動的地方;
3.修改database.php的type值為mysqli;
注意事項:
A.php7.1對函數參數個數嚴格校驗,對函數形參一定要賦默認值,否則直接Fatal error: Uncaught ArgumentCountError: Too few arguments to function;
B.htmlspecialchars嚴格編碼,以前在php5.2下正常使用的,需要修改為 new_html_special_chars() 具體函數定義見 global.func.php;
C.數據庫5.6對老版本5.0的listorder-1問題,將字段設置為有符號即可;
D.偽靜態規則升級,與httpd.ini變化不太大,需要逐條測試;
E.MySQL函數mysql_在php7中廢棄,代之以mysqli_函數;
偽靜態rewrite規則而升級遇到一個坑,就是中文url的問題,我是這么解決的:
#tags
rewrite ^(.*)/tags/?([A-Za-z]?)/(?:page([0-9]+))?/?$ $1/index.php?m=tags&c=index&a=init&letter=$2&page=$3 last;
rewrite ^(.*)/tags/?(?:page([0-9]+))?/?$ $1/index.php?m=tags&c=index&a=init&page=$2 last;
rewrite ^(.*)/tags/([^/.]+)/?(?:page([0-9]+))?/?$ $1/index.php?m=tags&c=index&a=init&tag=$2&page=$3 last;
重點看第三條,直接匹配tags/后的所有字符,然后讓前兩條規則優先,解決沖突的問題;經過GET打印測試,匹配完美。
本文由久久博客www.99xq.cn原創,轉載請注明出處。
總結
以上是生活随笔為你收集整理的phpcmsv9mysql扩展_phpcmsV9升级到php7.1+mysql5.6+nginx1.9迁移步骤nginx中文伪静态rewrite配置...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php mysql 博客制作_PHP实现
- 下一篇: 万能进制转换计算器_这7款计算器APP一