Discuz X3.2 对 PHP7 的兼容性处理
2015-08-25
tech
PHP7抛弃了 MySQL 留下了 MySQLi 和 PDO 扩展(但是 DZ 只有前两者),但是 DZ 貌似没有全面把一些 mysql 扩展带的函数给变更过来,所以导致没法跑。
还有一个问题就是preg_replace的e修饰符也在PHP7给移除了,只能用别的函数替代了,但是DZ里面用了大量的该特性,改起来也是异常麻烦。
最后一个关键的问题是类里函数调用的问题,不要用一堆变量代替类名方法名用->直接调用,会炸的,正确姿势是使用 call_user_func 来调用。
小试修改了一大堆文件,丢在了 GitHub
自行看提交日志进行比对吧,就不单独放补丁了。。。