上传图片时如何修复 WordPress HTTP 错误
已发表: 2022-06-03如果您的网站在 WordPress 上运行,WordPress HTTP 错误是您可能会遇到的常见错误之一。 这个错误结果非常令人沮丧,因为它发生的原因没有实际原因。
在本文中,我们将研究此错误的全部内容以及您可以应用以解决错误的一些修复程序。
目录
上传媒体时 WordPress HTTP 错误是什么
如何修复 HTTP 错误
- 执行检查和更改以确定问题是否是临时的
- 重命名图像文件名
- 暂时停用插件和主题
- 修改 WordPress 图像库
- 禁用 mod_security
- 上传文件夹的权限检查
- 增加 PHP 内存限制
- 更新您的 PHP 版本
结论
上传图片时出现 WordPress HTTP 错误是什么
WordPress HTTP 错误是在尝试通过媒体上传器上传媒体项目时生成的一般错误。 这些媒体项目可以是视频或图像。 例如,您在上传帖子的特色图片时可能会遇到此错误。
HTTP 错误通常包含状态码。 此状态代码使您能够确定错误的原因。 但是,此错误令人沮丧的是,WordPress 无法确定错误的确切原因。
在您的网站中使用图像非常重要,因为图像以更好的格式提供附加信息。 在搜索引擎中索引您的网站时,图像还提供了 SEO 优势。 因此,修复此类 HTTP 错误以便能够在您的网站内上传图像或媒体非常重要。
此错误可能是由许多问题引起的。 其中一些包括:
i) 文件名错误:如果图片文件名中包含特殊字符,上传此类图片时,很可能会遇到 HTTP 错误。
ii) 主题和插件问题:插件或主题可能包含阻碍在您的网站内上传媒体项目的功能。
iv) 内存限制:如果您网站中的 WordPress 内存限制非常低,那么您也很可能会遇到 HTTP 错误。
v) 图像编辑器模块:ImageMagick 等模块中的资源限制也可能导致 HTTP 错误。
如何修复 HTTP 错误
为了修复 HTTP 错误,您可能需要根据您的站点设置尝试多种解决方案。 这将使您能够确定问题的原因并应用适当的修复。 该过程可能需要一些时间,具体取决于您确定错误原因的速度,但这绝对值得。
如果通过应用特定解决方案来解决错误,您不一定需要执行其他解决方案。
我们将介绍一些您可以在本指南中试用的建议解决方案。
执行检查和更改以确定问题是否是临时的
可以执行许多检查和更改以确定 HTTP 错误问题是否是暂时的。 其中一些检查和更改包括:
i) 刷新您的浏览器:有时互联网连接中断会导致图像无法上传到您的网站。 因此,您有必要首先刷新您的网络浏览器并检查您最终是否会出现这种情况。
仍然在您的浏览器中,您还可以清除浏览器缓存并检查问题是否已解决。 或者,您还可以测试问题是否在您尚未测试站点的其他浏览器中或在隐身模式下复制。
ii) 文件大小检查:如果您的图像或媒体项目太大,那么您也可能会遇到 HTTP 错误。 因此,您可以尝试首先调整图像大小并确保它不超过您的 WordPress 最大上传大小。 此外,您还可以使用您喜欢的图像优化插件来优化图像。 此类插件的一些示例是 EWWW Image Optimizer 和 Imagify。
iii) 更改文件类型:某些服务器可能不支持各种图像格式。 在这种情况下,如果您上传不受支持的文件类型,您可能会遇到 HTTP 错误。 为确保最终不会出现这种情况,您需要更改图像或媒体项目的文件类型。 完成后,在新文件类型下重新上传,看看问题是否已解决。
重命名图像文件名
您使用 WordPress 媒体上传器上传的图像不应包含特殊字符。 其中一些字符包括撇号、冒号、等号、分号和国际语言符号。 但是,破折号和下划线等字符可以安全使用。
为了检查这是否是您的问题,因此您需要检查上述任何一个字符是否存在于您的图像文件名中。 如果是这样,请将它们从文件名中删除,然后再次尝试上传图像。
暂时停用插件和主题
有时,HTTP 错误可能是由您安装的插件引起的。 安全插件和图像优化插件通常是导致错误的可能原因。
为了消除由插件引起的错误的可能性,您需要批量停用已有的插件。 这可以从 WordPress 仪表板中的插件部分实现,如下图所示:
停用插件后,再次上传您的图像并检查问题是否已解决。 如果是这样,请一一重新激活插件并在每个插件激活实例中上传图像,以识别罪魁祸首插件。
在其他时候,HTTP 错误是由正在使用的 WordPress 主题引起的。 然而,这是一种罕见的情况,因为主题不会直接影响 WordPress 网站内的媒体上传。
然而,为了消除 WordPress 主题成为问题原因的可能性,您可以切换到默认的 WordPress 主题,例如二十一二十一主题或二十二十二主题。 进行切换后,上传您的图像并检查是否呈现 HTTP 错误。 如果不是,则表示问题是由您最初使用的主题引起的。
在上述任何一种情况下,如果您碰巧缩小了由插件或主题引起的问题,建议联系相应的产品作者。 否则,您可以选择使用替代插件或主题。
修改 WordPress 图像库
WordPress 使用两个 PHP 模块来处理图像。 这些是 Imagick 和 GD 库。 默认情况下,WordPress 将使用其中一个模块,具体取决于您的服务器安装。
然而,Imagick PHP 模块有时会耗尽分配的资源,例如内存限制。 在内存限制耗尽的情况下,您尝试将图像上传到网站,您可能会遇到 HTTP 错误。
在上述情况下,切换到默认的 GD 库是合适的。 为了实现这一点,您需要将以下代码添加到主题的 functions.php 文件中:
function wpb_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', 'wpb_image_editor_default_to_gd');
下面是一个示例截图说明:
完成后,再次尝试上传图像。 如果 HTTP 错误仍然存在,请删除代码并尝试本文中列出的其他步骤。
禁用 mod_security
Mod_security 是一个 Apache 模块,充当开源 Web 应用程序防火墙。 启用后,它有时可能会在尝试在您的网站内上传图片时导致 HTTP 错误。
为了测试问题是否是由模块引起的,您可以先禁用它。 这很容易从您的 .htaccess 文件中实现。
首先,您需要使用 Filezilla 等软件通过 FTP 访问您的根站点文件。 或者,您可以通过托管面板进行操作。
接下来,选择编辑 .htaccess 文件并将以下代码添加到文件顶部:
<IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off </IfModule>
如果您的主机使用 cPanel,您可以改为禁用 ModSecurity 模块。 该模块位于“安全”部分。
跟踪模块后,单击它并通过将状态设置为“关闭”在您的域中禁用它。 以下是对此的示例屏幕截图:
执行此操作后,请尝试再次上传您的图像并检查问题是否已解决。
上传文件夹的权限检查
WordPress 建议对目录使用 755 权限模式。 有时,如果不是这种情况,您可能会遇到错误,例如此处讨论的 HTTP 错误。 因此,重要的是要反查图像上传错误是否是由于上传文件夹中的权限造成的。
uploads 文件夹位于站点文件的 Wp-content 目录中。 您可以通过 FTP 或 Cpanel 等托管面板轻松找到该文件夹。
跟踪文件夹后,检查权限是否匹配 755。
如果没有,请将权限手动更改为 755。
完成后,尝试重新上传图像并检查 HTTP 错误现在是否已解决。
增加 PHP 内存限制
如果在上传图片或媒体项目时超出内存限制,您也可能会遇到 HTTP 错误。 这是因为服务器没有足够的内存来完成图像/媒体上传。 因此,您将需要增加您的 PHP 内存限制。
为了增加内存限制,可以通过在 wp-config.php 文件中添加一行代码来实现。 wp-config.php 文件位于站点文件的根目录中。 您也可以使用 Filezilla 等软件通过 FTP 访问它。 或者,您可以通过托管面板进行操作。
跟踪文件后,选择对其进行编辑并添加以下代码:
define ('WP_MEMORY_LIMIT', '256M');
代码应添加在以下行之前:
/* 就是这样,停止编辑! 快乐出版。 */
下面是一个截图说明:
完成此操作后,保存您的更改并尝试再次上传您的图像/媒体项目以查看问题是否已解决。
更新您的 PHP 版本
WordPress 建议在您的站点中使用受支持的最新 PHP 版本。 使用过时的 PHP 版本可能会导致 HTTP 错误。 如果您的 PHP 版本已过时,您将在 WordPress 仪表板中对此进行通知。 以下是本通知的示例说明:
就目前而言,WordPress 根据此处的要求完全支持 PHP 7.4 版。 因此,建议您使用当前版本。 您可以要求您的托管服务提供商为您更新 PHP 版本。
如果您的主机使用 cPanel,您可以根据主机配置从“MultiPHP 管理器”或“选择 PHP 版本”链接轻松更改 PHP 版本。
然后,您可以将最新的 PHP 版本应用到您的域,如下图所示:
完成后,尝试再次上传图像/媒体并检查问题是否已解决。
结论
尽管 HTTP 错误的发生没有具体原因,但仍然可以排除故障并修复错误。 在本文中,我们介绍了至少八种方法,您可以使用这些方法对网站中的错误进行故障排除和修复。
我们希望上面讨论的至少一种方法可以帮助您修复网站中的 HTTP 错误。 如果您对此有任何疑问或新建议,请随时在下面的评论部分发表评论。