克米设计

克米设计官方联系方式

工作时间: 周一到周五早上09:00-11:30, 下午03:00-05:30, 晚上09:00-10:30(周六、日休息)
QQ: 21400445  8821775  11012081  327460889TEL: 0668-8810200 13450110120 15813025137  E-Mail: ceo#comiis.com
用户交流QQ群
①群83667771 ②群83667772 ③群83667773 ④群110900020 ⑤群110900021 ⑥群70068388 ⑦群110899987 ←提醒: 请勿重复加群, 谢谢合作

关于DX2.5 DIY幻灯片模块或图片模块后可能出现网页被卡住或空白的问题和临时解决方法

[复制链接]
发表于 2012-9-27 11:19:03 | 显示全部楼层 |阅读模式
我相信很多用户都曾经为这个问题而烦恼,都不知道怎么出处理和解决!!!

Discuz X 升级到2.5后,DIY增加的幻灯片模块或图片模块在处理大图片的帖子时有可能出现网页被卡住或空白的情况,而且不能进入DIY模式,后台更新也无法处理,而 Discuz x2.0 并不存在此问题;
同时也有很多网友在 Discuz 官方发帖咨询了这个问题,但 Discuz 官方的人一直以用户模板问题为由,一直不关注这个BUG;

如部分用户发表的帖子:
DX2.5更新了一个DIY 首页就卡主不动了
http://www.discuz.net/thread-3113990-1-1.html
【经验分享】关于门户diy空白,界面不显示解决方案
http://www.discuz.net/thread-3068263-1-1.html
每次升级 X2.5 都出现首页DIY模块显示不了的情况
http://www.discuz.net/thread-2971703-1-1.html
首页门户不显示··DIY显示空白··已经第五天了··求帮助····
http://www.discuz.net/thread-3025296-1-1.html
门户首页显示不全,diy也打不开。
http://www.discuz.net/thread-2804758-1-1.html
门户首页显示一半,下半部分没有了,DIY失灵了。
http://www.discuz.net/thread-2933970-1-1.html
门户DIY模板调试之后开始正常,过一会下半部分就不显示了
http://www.discuz.net/thread-2950201-1-1.html
等等......

曾经我们的客户也找过 Discuz 的官方技术看过,都说是用户模板的问题;也有网友用 Discuz 官方默认模板也出现这个情况,这样就可以证明不是 Discuz 技术所说的是用户模板的问题了;

那为什么 Discuz X2.5 会这样呢?而 Discuz X2.0 则不会出现这种情况?
昨天我们的技术人员对这个问题进行了详细的研究和测试!

首先让我们先测试一下为什么会出现这个情况:
我们先在电脑安装一个ComsenzEXP
然后分别安装 Discuz! X2.0 最新版 和 Discuz! X2.5 最新版,并分别上传了同一张相片(大小为1.7M左右)
然后分别在 Discuz! X2.0 和 Discuz! X2.5 默认模板下DIY加入 “[内置]帖子图片幻灯片” 样式,并设置好相同的条件;
保存后,测试,好像两个测试站都并没有出现上面所说到的页面被卡住或空白的现象,为什么呢?

因为本地php环境的缓存默认设置比较大,而部分用户购买的虚拟主机缓存设置相对比较小,所以让我们先打开 php.ini 文件,把 memory_limit 改为 32M ,保存后重启一下Apache,然后再DIY更改一下“缩略图宽度”,保存后,刷新页面,
Discuz! X2.5 出现了页面被卡住的现象,而 Discuz! X2.0 还正常显示,只是图片显示的为一个红X,但并没有卡住页面;
为什么呢?

经排查,是 source\class\class_image.php 的 $im = @$imagecreatefromfunc($this->source); 出现内存溢出;
但 Discuz! X2.0 也是使用同样的一个GD库,为什么不会出现这情况呢?

再对比一下 Discuz! X2.0 和 Discuz! X2.5 的文件我们不难发现, Discuz! X2.5 的 source\function\function_block.php 这个文件,出现了一个BUG,在修改 common_block_item 表的图片是否生成了缩图时,"$itemid" 并没有被赋值,代码如下:
C::t('common_block_item')->update($itemid, array('makethumb'=>1, 'thumbpath' => $thumbpath));
而 Discuz! X2.0 的这个变量已经被赋值了;

那问题就好解决了,只要打开以下文件:
source\function\function_block.php

搜索查找到下面代码:
  1. $rkey = $rpattern = $rvalue = $rtpl = array();
复制代码
在下面一行加入以下代码即可:
  1. $itemid=$blockitem['itemid'];
复制代码
这样每个图片就只会生成一次缩略图,并作好了标记,就算在生成时内存溢出,下次也会跳过这个图片,所以就不会出现上面所说到的页面被卡住或空白的现象了;

最后说明一下,最好打开 php.ini 文件,把 memory_limit 修改大一点,这样,大图片也能被处理了;上面的BUG最好也修改一下,修改后,每次访问都会更新一个图片的缩略图,这样不但页面整体看起来美观,而且对访问的速度也有一定的提高;

其实这个问题我们早前就已经发布过修改方法的了,地址如下,只是并没有引起大家的关注!
http://www.discuz.net/thread-2971854-1-1.html
https://www.comiis.com/thread-20301-1-1.html

衷心希望 Discuz 官方人员能尽快修复这个BUG, 以免更多用户出现这个问题!!!

最后,感谢大家对克米设计的支持,谢谢!
https://www.comiis.com
发表于 2012-9-27 11:59:57 | 显示全部楼层
本帖最后由 飞羽 于 2012-9-27 12:01 编辑

这个问题确实困扰了我们一段时间,找dz技术说是模板问题,后来幸好有你们的技术帮忙解决了。
发表于 2012-9-27 12:15:01 | 显示全部楼层
我的站 2012年19楼新模版 广播台 和 大秀场 老是丢失,只能关闭,根本不能使用~

头次加载还好,过几天就没了 剩下一大块白的。。

点评

用这个方法就可以的了  发表于 2012-9-27 15:52
发表于 2012-9-27 12:40:45 | 显示全部楼层
我的用不用更新啊!

点评

如果是好一点的服务器和空间不会出现这个的,只是部分用户空间出现  发表于 2012-9-27 15:53
发表于 2012-10-9 10:41:57 | 显示全部楼层
问题依旧存在,啥时候能解决呢?
发表于 2012-10-23 09:39:08 | 显示全部楼层
老大出手必定不凡。问题解决了,感谢。
使用高级回帖 (可批量传图、插入视频等)

发表回复

您需要登录后才可以回帖 登录 | 加入克米

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
快速回复 返回顶部 返回列表