以下文档回顾了在WordPress中上传图片时出现的最常见问题并提供了解决方案:

  • 图片文件名
  • 上传图片时出现 HTTP 错误
  • 无法在媒体中上传图片library 在
  • File exceeds upload_max_filesize

查看图片文件名

首先要检查的是图像的名称。如果文件名中包含分号、等号等特殊字符,可能会上传失败。

上传图片时出现 HTTP 错误

当您尝试上传像素尺寸较大的图像(例如 3000 x 2000 像素图像)时会发生这种情况。这对于您的服务器来说太大了。
有些服务器即使图片小于3000 x 2000像素也会报错,这取决于服务器资源。

HTTP 错误。

解决方案

以下是一些可用于修复 WordPress 中的 HTTP 错误的解决方案。

上传前请缩小图片尺寸。

  • 如果您使用的是 Mac,您可以使用预览应用程序来缩小图像的大小。
  • 对于PC,您可以使用Paint Application。
  • 在 Customizr 和 Customizr Pro 主题中,带边框的滑块图像大小为 1170 像素 x 500 像素,因此您可以在上传前将图像缩小到该大小。
  • 反复尝试缩小图片大小,直到可以无误上传为止。

增加PHP内存

  • 联系你的网络托管公司,让他们增加你的PHP内存限制。逐渐增加,直到您能够上传可接受的图像尺寸。宽度至少为 2000 像素。
  • 如果您喜欢自己做,可以将以下内容添加到您的 wp-config.php。这仅在您的托管包具有该内存量时才有效。逐渐增加,直到您能够上传可接受的图像尺寸。

    define('WP_MEMORY_LIMIT', '256M');

  • 您也可以尝试通过在您的 .htaccess 文件中添加以下内容来增加内存。这仅在您的托管包具有该内存量时才有效。逐渐增加,直到您能够上传可接受的图像尺寸。
    注意:某些 Web 主机不允许这样做,您将收到 500 Internal Server Error。在这种情况下,您将不得不删除此代码。

    php_value memory_limit 256M

  • 如果你可以访问你的web服务器的php.ini文件,你可以找到memory_limit并增加它的大小 。这仅在您的托管包具有该内存量时才有效。逐渐增加,直到您能够上传可接受的图像尺寸。

    内存限制=256M

ModSecurity

  • 您的服务器可能有 mod_security 并且它可能会导致问题。
    禁用它以查看是否是问题所在。
    为此,请在您的 wp-admin 目录中创建一个 .htaccess 文件。
    在其中添加如下代码:

    SecFilterEngine off SecFilterScanPOST OFF

    这将禁用 wp-admin 中上传文件接收代码的 mod_security。
    注意:如果这导致您的服务器出现任何错误,请将其删除。

基于身份验证的访问控制

  • 如果您使用基于身份的身份验证访问控制(通常称为 htpasswd、基本身份验证、密码保护目录或类似名称),WordPress 无法为 Flash Uploader、Cron 和 XMLRPC 处理它。需要排除相关文件才能使其正常工作。在 WordPress 根文件夹下的 .htaccess 文件中的以下位置。

    #从身份验证中排除文件上传和 WP CRON 脚本 满足任何 Order Allow, Deny Allow All Deny All

插件冲突

  • 您可能安装了导致此问题的插件。请一次禁用一个插件。清除您的缓存和浏览器历史记录,然后重新访问媒体上传器以上传您的图像(保持像素大小较小)并查看它是否有效。

无法在媒体库中创建目录和损坏的图像

如果您无法在媒体库中看到缩略图,并且在上传图像时出现以下错误。

无法创建目录 wp-content/uploads/2016/02。服务器的父目录是否可写?

当您的 wp-content/uploads 文件夹的权限发生变化时,就会发生这种情况。当您不小心更改了它的权限,或者您的网络托管技术人员正在做一些维护工作并且不小心重置了它的文件夹权限时,就会发生这种情况。

解决方案

  • 使用您喜欢的 FTP 程序登录服务器。 (如何在WordPress中使用FTP软件?)
  • 导航到wp-content/uploads/
  • 使用您的 FTP 程序将所有随附项目的上传文件夹权限更改为 755。
    这将确保上传文件夹中的所有项目和文件夹都设置为 755。
  • 清除浏览器缓存。
  • 登录 WordPress 并访问您的媒体库,您应该会看到已上传图片的所有缩略图。
  • 您应该能够上传图像而不会看到无法创建目录错误。

文件超过upload_max_filesize

当你在php中.当 ini 文件中设置的 PHP 上传最大文件大小 ( upload_max_filesize ) 小于您尝试上传的图像的文件大小时,会发生这种情况。

查看System Information中的PHP Upload Max Filesize的值,需要将其调高到一个比较健康的值。

..超过了该站点的最大上传大小。

解决方案

这里有一些解决方案,您可以使用这些解决方案来解决 WordPress 中超出上传限制文件大小的问题。

联系您的托管公司

是的,这是首选方法。请联系您的托管公司并向他们展示错误的屏幕截图,或向他们发送错误消息。请他们协助增加以下值,直到您可以上传图片。您的托管公司可能对这些值有限制。

upload_max_filesize post_max_size max_execution_time max_input_time

preferred到以下值。

upload_max_filesize 64M post_max_size 64M max_execution_time 300 max_input_time 300 编辑php.ini文件

php.ini文件是PHP的默认配置文件。大多数共享托管公司不允许访问此文件。如果您确定可以访问服务器上的 php.ini 文件,则可以继续执行以下步骤。

  1. 使用您的 FTP 程序访问它。 (如何在 WordPress 中使用 FTP 软件?)
  2. 在尝试编辑此文件之前,请备份副本。
  3. 打开它,一次查找以下值(它们在文件中的不同行上)

    upload_max_filesize post_max_sizemax_execution_time max_input_time

  4. 最好将它们编辑为以下值。

    upload_max_filesize 64M post_max_size 64M max_execution_time 300 max_input_time 300

使用 .htaccess 文件

在 WordPress 中,有一个 .htaccess 文件。 WordPress 使用此文件来操纵 Apache(服务器)如​​何从其根目录和子目录提供文件。因此,这个文件非常重要。不要编辑此文件中的原始内容。您可以在文件末尾添加一些指令以增加 PHP Upload Max Filesize。 在此处了解有关 WordPress 中 htaccess 文件的更多信息

  1. 使用您最喜欢的 FTP 程序访问您的 WordPress 安装。
  2. 进入根目录,就是wp-config.php文件所在的目录。您应该能够找到您的 .htaccess 文件。
  3. 将它的副本下载到您的计算机以保存为备份。
  4. 打开它并在文件末尾添加以下内容并换行。

    php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300

  5. 保存更改并覆盖服务器上的 .htaccess 文件。
  6. 回到你的系统信息,看看你的值是否改变了。
    如果没有,您应该联系您的托管公司以协助编辑 php.ini 文件中的这些值。