【问题标题】:Media Library "HTTP error" when upload finishes上传完成时媒体库“HTTP 错误”
【发布时间】:2018-11-15 06:08:22
【问题描述】:

我在单个 Ubuntu VPS 上托管多个 Wordpress 站点。我的一个网站最近刚开始在将文件上传到媒体库时出现“HTTP 错误”。

我知道这是一个常见错误,但我的错误发生在文件完成上传之后,我可以在服务器上看到它,并且它的大小正确,但它已损坏并且无法打开。我在想如果是权限问题,那么文件就根本不存在,并且此服务器上的其他站点工作正常。

我已经检查了 nginx、php 和 wordpress 的所有配置文件上传大小限制,它们看起来都不错。我最近从未添加任何新插件。

【问题讨论】:

  • 你能具体说明错误吗?
  • @karansharma 查一下,这个错误字面上只是说来自 wordpress 通知的“HTTP 错误”。根据我的研究,这是一个臭名昭著的模糊错误,可能意味着很多不同的事情。

标签: php wordpress nginx


【解决方案1】:

是权限问题,上传文件夹请设置777

然后出现 HTTP“错误不会”

【讨论】:

  • 我认为这没有必要,我的所有网站都在 755 上安装了它,除了这个之外,它们都可以正常工作。如果这是权限问题,那么 Wordpress 将根本无法写入该文件夹。该文件确实已上传,但在完成后不知何故损坏了。
【解决方案2】:

基本上只是因为权限,你的上传文件夹没有正确的权限。

将此脚本文件放入您的Wordpress根目录并执行它。(它将设置所有文件夹和文件的权限)

fix-wordpress-permissions.sh

WP_OWNER=www-data # <-- wordpress owner
WP_GROUP=www-data # <-- wordpress group
WP_ROOT=$1 # <-- wordpress root directory
WS_GROUP=www-data # <-- webserver group

# reset to safe defaults
find ${WP_ROOT} -exec chown ${WP_OWNER}:${WP_GROUP} {} \;
find ${WP_ROOT} -type d -exec chmod 755 {} \;
find ${WP_ROOT} -type f -exec chmod 644 {} \;

# allow wordpress to manage wp-config.php (but prevent world access)
chgrp ${WS_GROUP} ${WP_ROOT}/wp-config.php
chmod 660 ${WP_ROOT}/wp-config.php

# allow wordpress to manage wp-content
find ${WP_ROOT}/wp-content -exec chgrp ${WS_GROUP} {} \;
find ${WP_ROOT}/wp-content -type d -exec chmod 775 {} \;
find ${WP_ROOT}/wp-content -type f -exec chmod 664 {} \;

【讨论】:

    【解决方案3】:

    我不相信这是权限错误。你说它“曾经有效”,所以这让我觉得它是另一回事。这是你可以尝试的东西。

    WordPress 在 PHP 上运行,它使用两个模块来处理图像。这些模块称为 GD Library 和 Imagick。 WordPress 可以使用其中任何一种,具体取决于哪一种可用。

    Imagick 是默认的,众所周知,它经常遇到内存问题,导致图像上传期间出现 http 错误。要解决此问题,您可以将此函数添加到主题的 functions.php 文件中,或者更好地作为自定义插件,将默认图像编辑器更改为 GD 库。

    // Change Default Image Editor Library Used by WordPress
    function xyz_image_editor_default_to_gd( $editors ) {
        $gd_editor = 'WP_Image_Editor_GD';
        $editors = array_diff( $editors, array( $gd_editor ) );
        array_unshift( $editors, $gd_editor );
        return $editors;
    }
    add_filter( 'wp_image_editors', 'xyz_image_editor_default_to_gd' );
    

    从 WP Beginner 那里学到了这个小技巧:https://www.wpbeginner.com/wp-tutorials/how-to-fix-the-http-image-upload-error-in-wordpress/(信用到期)。

    【讨论】:

      猜你喜欢
      • 2012-01-29
      • 2014-06-14
      • 2012-12-26
      • 2014-07-16
      • 2023-03-24
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      相关资源
      最近更新 更多