使用技巧

在WordPress中上传图片时修复错误

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

  • 图像文件名
  • 上载图片时出现HTTP错误
  • 无法在媒体库中创建目录和损坏的图像
  • 文件超出了upload_max_filesize

WordPress上传图片-媒体库

检查图像文件名

首先要检查的是图像的名称。如果文件名包含任何特殊字符(例如分号或等号等),则可能无法上传。

上载图片时出现HTTP错误

当您尝试上传像素大小较大的图像(例如3000 x 2000像素的图像)时,会发生这种情况。对于您的服务器而言,这太大了。
即使当图像小于3000 x 2000像素时,某些服务器也会显示错误,这完全取决于服务器资源。

HTTP错误。

解决方案

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

上载前请减小图像尺寸。 

  • 如果您使用的是Mac,则可以使用预览应用程序来减小图像的大小。 
  • 对于PC,您可以使用Paint Application。 
  • 在Customizr和Customizr Pro主题中,带框的滑块图像大小为1170px x 500px,因此您可以在上传之前缩小该大小的图像。 
  • 反复尝试减小图像尺寸,直到您可以上传它而没有任何错误。

增加PHP内存

  • 请与您的网络托管公司联系,并要求他们增加您的PHP内存限制。逐渐增加,直到您能够上传可接受的图像尺寸为止。宽度至少为2000px。
  • 如果您愿意自己做,则可以在wp-config.php中添加以下内容。仅当您的托管程序包具有该内存量时,此方法才有效。逐渐增加,直到您能够上传可接受的图像尺寸为止。
    define('WP_MEMORY_LIMIT','256M');
    	
  • 您也可以尝试通过在.htaccess文件中添加以下内容来增加内存。仅当您的托管程序包具有该内存量时,此方法才有效。逐渐增加,直到您能够上传可接受的图像尺寸为止。
    注意:某些虚拟主机不允许这样做,您将收到500个内部服务器错误。在这种情况下,您将必须删除此代码。

    php_value memory_limit 256M
    	
  • 如果可以访问Web服务器的php.ini文件,则可以找到memory_limit并增加其大小。仅当您的托管程序包具有该内存量时,此方法才有效。逐渐增加,直到您能够上传可接受的图像尺寸为止。
    内存限制= 256M
    	

ModSecurity

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

    <IfModule mod_security.c> 
    SecFilterEngine关闭 
    SecFilterScanPOST关闭 
    </ IfModule>
    

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

基于身份验证的访问控制

  • 如果您在Web服务器上使用基于身份验证的访问控制(通常称为htpasswd,基本身份验证,受密码保护的目录或类似名称),则WordPress无法为Flash Uploader,Cron和XMLRPC处理它。需要排除相关文件才能工作。在WordPress根文件夹下的.htaccess文件中的以下位置。
    #从身份验证中排除文件上传和WP CRON脚本
    <FilesMatch“(async-upload \ .php | wp-cron \ .php | xmlrpc \ .php)$”>
        满足任何
        订单允许,拒绝
        全部允许
        全都拒绝
    </ FilesMatch>
    

插件冲突

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

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

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

无法创建目录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)小于尝试上载的图像的文件大小时,就会发生这种情况。

在系统信息中查看PHP Upload Max Filesize的价值,您需要将其增加到一个更高,更健康的值。

..超出此网站的最大上传大小。

解决方案

以下是一些可用于解决WordPress中超出上传上限文件大小问题的解决方案。

联系您的托管公司

是的,这是最喜欢的方式。请与您的托管公司联系,并向他们显示您的错误的屏幕截图,或向他们发送错误消息。要求他们协助增加以下值,直到您能够上载图像为止。您的托管公司可能对这些值有限制。

upload_max_filesize 
post_max_size 
max_execution_time 
max_input_time

优选为以下值。

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_size 
    max_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文件中编辑这些值的帮助。