学习资料_文档下载_软件应用_程序模板

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 1482|回复: 0

discuz上传附件提示Server (IO) Error的解决方法

[复制链接]

402

主题

419

帖子

554

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
554
发表于 2021-9-21 22:04:31 | 显示全部楼层 |阅读模式

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站点的配置不一样,具体的解决方法也可能不同。也有可能是目录的权限问题,或者是磁盘满了。

此文档仅用于学习交流使用。
回复

使用道具 举报

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

本版积分规则

HI223.COM 举报邮箱:345306361@qq.com

GMT+8, 2024-5-18 13:23 , Processed in 0.099206 second(s), 18 queries .

Powered by HI223分享社区 2.3

© 2019-2020 Hi223 All Right Reserved

渝公网安备 50022502000358号

渝ICP备14008270号-3