Discuz教程网

Discuz X3.2 对 PHP7 的兼容性处理

[复制链接]
authicon dly 发表于 2016-1-6 11:10:25 | 显示全部楼层 |阅读模式
PHP7抛弃了 MySQL 留下了 MySQLi 和 PDO 扩展(但是 discuz只有前两者),但是 Discuz貌似没有全面把一些 mysql 扩展带的函数给变更过来,所以导致没法跑。
还有一个问题就是preg_replace的e修饰符也在PHP7给移除了,只能用别的函数替代了,但是Discuz里面用了大量的该特性,改起来也是异常麻烦。
最后一个关键的问题是类里函数调用的问题,不要用一堆变量代替类名方法名用->直接调用,会炸的,正确姿势是使用 call_user_func 来调用。

小试修改了一大堆文件,丢在了 GitHub

自行看提交日志进行比对吧, discuz-x32-php7-master.zip (26.69 KB, 下载次数: 16)



上一篇:Discuz教程网签到记录贴-2016年1月6日
下一篇:在线视频教育手机版 手机版 价值190元(2016.01.01更新)
authicon  楼主| dly 发表于 2016-1-6 15:16:31 | 显示全部楼层

Discuz!X3.2针对PHP7的兼容版本-测试ing

花了一个通宵改了好几十个文件,终于实现了PHP7的兼容。
现在招募测试者(小白鼠)
要求如下:
1.有时间帮忙把DZ所有的模块走一遍检查是否有问题。
2.非伸手党。
3.了解正确回馈问题的方式(不要只说发生了错误,要求明确错误的具体位置,然后提供本地环境信息,提供URL,并且给出详细的错误复现步骤),积极配合一起解决问题。
4.最好拥有一定修改代码能力。
5.最好懂如何使用Git(回头发现问题,如果可以解决的,希望修改完给仓库发PR)
6.本地必须有PHP7环境用于测试

然后说明如下:
1.请不要把该版本用于生产环境,否则出事不管!!!
2.暂时只提供UTF-8的release,GBK请自行比对差异,后期等完善完了再考虑GBK。
3.本人平常没有太多空,所以有问题可以提issue(GitHub的仓库中),假如有时间我会处理。
4.还有一些地方可能会异常,所以测试到异常的地方,请不要惊慌,正确的做法是提issue!


下载地址:https://github.com/branchzero/discuz-x32-php7/releases
有任何疑问请去:https://github.com/branchzero/discuz-x32-php7/issues


原文
X3.2针对PHP7的兼容版本-测试ing
http://www.discuz.net/thread-3699198-1-1.html
(出处: Discuz! 官方站)

authicon  楼主| dly 发表于 2016-1-6 15:22:32 | 显示全部楼层

Discuz X3.2 兼容 PHP7 PATCH

作者:Coxxs

博客:coxxs.me

说明

本补丁修复了Discuz在PHP7下的以下问题。

  • 无法安装;
  • 模板机制无法解析;
  • Discuz Code 无法解析;
  • UC无法通信等..

本补丁未覆盖以下自带插件:搜搜表情

Discuz! 应用中心中的部分插件/模板可能与PHP7有不兼容的问题,需要应用开发者自行处理,本补丁无法涵盖

如果您还发现了Discuz!仅在PHP7下存在的BUG,欢迎提交,我会尽快修复

地址:https://github.com/Coxxs/discuzx-php7-patch
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 01:28

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表