Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[发布] Discuz x2插件可以安装和卸载,点击启用之后页面空白的解决办法

[复制链接]
『蓝枫叶』 发表于 2012-7-6 17:06:51 | 显示全部楼层 |阅读模式
Discuz x2插件可以安装和卸载,点击启用之后页面空白的解决办法
      问题表现现象是:插件可以正常安装和正常卸载,只有在点击启用的时候,页面会出现空白。  

      这个问题,网上、包括discuz论坛,很多朋友在问,但是都没有一个明确的解决答案,今天我也遇到了同样的问题,后来经过仔细检查,发现是因为插件编写不合理导致的。导致2个插件有冲突的函数名,才发生了有一个插件无法启动的情况。

     discuz插件的加载机制是自动加载启动的插件的 '插件目录名.class.php' 文件,如果该插件文件中在类外使用函数,有可能会和其他的插件作者使用的函数名冲突,这样就造成了启动加载第二个插件的时候出现页面空白的问题。   

     具体解决方案打开插件目录下/source/plugin/插件名/插件名.class.php  文件,检查页面下部是否有不被class xxxx{ } 包含的函数名,类似于function xxxx(){ }。   如果有,恭喜你,discuz插件点击启用后页面空白的问题已经找到了。  将这些函数移动到使用该函数的类class { }中,并且将原来的函数调用方式由xxxx()修改为$this->xxxx()的形式,这样问题就可以解决了。


    最后顺带说一遍,discuz的插件加载机制存在严重的加载问题,插件之间加载应该能相互独立,这么简单的函数问题就能造成插件相互冲突。   并且官方一直不给出明确的解决方法,真的是太不负责任了。   



BY.蓝枫叶

欢迎访问:www.ganhane.com

转载请保留原链接,谢谢


回复

使用道具 举报

4535 发表于 2012-7-7 11:28:47 | 显示全部楼层
不错,大家试试!
http://www.1024com.com/
回复

使用道具 举报

44418 发表于 2012-7-7 12:26:41 | 显示全部楼层
我先看看 顶下
回复

使用道具 举报

梅花香 发表于 2012-7-7 15:46:01 | 显示全部楼层
好老的内容
回复

使用道具 举报

老谁家小谁 发表于 2014-3-27 16:40:43 | 显示全部楼层
版主 您的 方法貌似不大对  我看 class 都包含着对应的方法的   没有方法写在class 之外
回复

使用道具 举报

老谁家小谁 发表于 2014-4-2 15:23:34 | 显示全部楼层
版主 版主 方便的 话 回答我 我的 QQ342062564 我挺急的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-11-22 09:39 , Processed in 0.133306 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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