【Dz上传附件】解决Discuz Server(IO)Error问题
2018-12-17
Discuz 上传文件时会碰到Discuz Server(IO)Error错误了,这个小编排查了许久没找到问题原因及解决办法了,不过来后百度找到一篇解决方案,下面来看看。
Discuz环境
OS:CentOS6.5
Web服务:Apache
Discuz:Discuz! X3.2 简体UTF-8
没有安装GD、ImageMagick
上面错误如下,根据经验小编以为是文件上传大小限制所导致了于时做了如下配置
1.在uploadfile.php 里面,设置 file_size_limit : "600 MB",
2。在php.ini文件中修改了相关的限制,比如:post_max_size 1024M 1024M;max_input_time 18000 18000;memory_limit 1024M 1024M;max_execution_time 18000 18000
但是上传一个550MB的东西的时候,还是会出现Server (IO) Error错误,而且值得一提的是,这个错误每次都是在上传进行了将近30秒之后出现的!!
但配置之后也是没有用了,接着再找解决办法。
安装ImageMagick
为了使用pecl命令先安装,php-pear等。
代码如下复制代码
# yum install php-pear php-devel httpd-devel --enablerepo=remi
# which pecl
/usr/bin/pecl
# yum -y install ImageMagick ImageMagick-devel
# pecl install imagick
Build process completed successfully
Installing "/usr/lib64/php/modules/imagick.so"
Installing "/usr/include/php/ext/imagick/php_imagick_shared.h"
Installing "/usr/include/php/ext/imagick/php_imagick.h"
Installing "/usr/include/php/ext/imagick/php_imagick_defs.h"
install ok: channel://pecl.php.net/imagick-3.1.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=imagick.so" to php.ini
# vi /etc/php.ini
extension=imagick.so ※在php.ini文件里追加
修改php.ini文件以后,重启Apache。
# service httpd restart
修改上传设置
在管理后台的「全局」->「上传设置」里选择ImageMagick以后,点击提交。
在我的环境里安装以后so文件的完整路径是/usr/lib64/php/modules/imagick.so。
根据需要可以在「ImageMagick 程序安装路径:」里添加路径。
小结
可能每个Discuz站点的配置不一样,具体的解决方法也可能不同。也有可能是目录的权限问题,或者是磁盘满了。
http://www.111cn.net/wy/CMS/112110.htm
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。
http://www.pinlue.com/style/images/nopic.gif