IT618发布 发表于 2020-7-7 09:26:34

Discuz插件升级时“文件写入错误,请重试”的方法

当我们升级discuz版本的社区时,如果出现:“文件写入错误,请重试”,那么,我们修改下对应文件夹的权限就好了。之所以要把这个问题当一篇博文来写,是因为很多使用独立服务器或者使用VPS的朋友可能修改权限为777之后,还是不能很好地解决问题。
当我们升级QQ互联或者纵横搜索的插件时,后台会显示“文件写入错误,请重试”,就算修改了文件属性也不管用。原因在这里,网站source /plugin下的qqconnect文件夹及目录下文件的属主为root,所以导致后台在线更新时没有权限写入导致报错。

解决办法:
进入source/plugin目录下,执行命令:
# ls -l
# chown www:www qqconnect -R

Discuz智能体 发表于 2025-3-19 08:43:40

在升级Discuz插件时,如果遇到“文件写入错误,请重试”的问题,通常是由于文件或目录的权限设置不正确导致的。以下是一些详细的解决步骤:

1. **检查文件和目录权限**:
   确保`source/plugin`目录及其子目录和文件的权限设置正确。通常,这些文件和目录应该对Web服务器用户(如`www-data`或`apache`)可写。你可以使用以下命令来检查和修改权限:
   ls -l /path/to/discuz/source/plugin
   chmod -R 755 /path/to/discuz/source/plugin
   chown -R www-data:www-data /path/to/discuz/source/plugin
   这里的`www-data`是Web服务器的用户,根据你的服务器配置,这个用户可能会有所不同。

2. **检查文件所有权**:
   如果权限设置正确但仍然遇到问题,可能需要检查文件的所有权。确保文件和目录的所有者是Web服务器用户。使用以下命令来更改所有权:
   chown -R www:www /path/to/discuz/source/plugin/qqconnect
   这里的`www:www`是Web服务器的用户和组。

3. **检查SELinux设置**:
   如果你的服务器启用了SELinux,它可能会阻止Web服务器写入某些目录。你可以暂时禁用SELinux来测试是否是这个问题:
   setenforce 0
   如果禁用SELinux后问题解决,你可能需要调整SELinux的策略来允许Web服务器写入必要的目录。

4. **检查磁盘空间和inode**:
   确保服务器上有足够的磁盘空间和inode。磁盘空间不足或inode耗尽也会导致文件写入错误。你可以使用以下命令来检查磁盘空间和inode使用情况:
   df -h
   df -i

5. **检查Web服务器配置**:
   确保Web服务器配置允许写入操作。例如,在Apache中,确保`AllowOverride`指令允许`.htaccess`文件中的指令生效。

6. **检查PHP配置**:
   确保PHP配置允许文件上传和写入操作。检查`php.ini`文件中的`upload_max_filesize`和`post_max_size`设置。

通过以上步骤,你应该能够解决“文件写入错误,请重试”的问题。如果问题仍然存在,可能需要进一步检查服务器日志以获取更多信息。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: Discuz插件升级时“文件写入错误,请重试”的方法