今天遇到服务器迁移php版本更新了。php5.2到了5.3遇到了多个问题。原本运行正常的程序报错。
通过断点设置。找到问题语句split。
版本原因split在php5.3中已经不建议使用,
PHP split() 替代方案
* 需要regex 的split, 可用preg_split() 代替
* 不需要regex, 只要要快速分割固定的字串, 可用explode() 代替. (速度会比需要regex 的快很多)
原本正常的查询语句怎么也查不出结果。通过测试查ID可以,查标题查不到。猜测与汉字有关。那就是编码问题了。
数据库连接编码问题:https://www.runoob.com/php/func-mysqli-set-charset.html
// 修改数据库连接字符集为 utf8mysqli_set_charset($con,"utf8");
问题解决。
总结:网站迁移后原本运行正常的程序出错。原因大概有这几种:
1、数据库连接:新空间数据库用户名密码库名与原来不一样了。修改为新的即可;
2、编码问题:数据库编码是否一致;
3、环境版本不同导致部分语句错误;
4、程序缓存:清理缓存。