Wordpress:“HTTP错误。”上传文件时

时间:2010-11-03 19:53:33

标签: http wordpress upload

我正在使用PHP5在共享主机上运行WP 3.0.1。我在通过WP的管理部分中的媒体上传器上传更大的文件时遇到问题。

每当我尝试上传一个超过几兆字节的文件时,它会上传,表示它正在处理,然后给我一个大红色的“HTTP错误”。 - 仅此而已。

这只发生在稍微大一点的文件上 - 即20mb .mp3文件。一个5mb的文件似乎工作正常。奇怪的是,过去我们上传的40mb文件没有问题。

-

这是我到目前为止试图纠正这种情况的步骤:

  1. 仔细检查php.ini以确保增加上传,帖子和内存大小足够高。
  2. 更新.htaccess以包含过滤我在别处找到的安全模式。
  3. 通过ftp双重检查所有文件权限,确保它们是755。
  4. 称主持人 - “他们不支持第三方剧本”(我讨厌IPower)
  5. 尝试使用类似大小的不同音频文件。
  6. 禁用所有插件
  7. -

    你们对于可能导致模糊“HTTP错误”的原因有什么想法吗?问题

    提前致谢。

11 个答案:

答案 0 :(得分:10)

我在使用Nginx和PHP5-FPM(以及WordPress 4.1)方面遇到了类似的问题。

症状:文件(<5MB,因此相对较小)正在传输的中途,如进度条所示,突然收到HTTP错误消息。

即使你在php.ini中设置了upload_max_filesize,你也应该检查post_max_size是否(至少)是大的。记得重启php5-fpm。

如果仍然无法正常工作,请编辑您的nginx.conf文件(在Debian / Ubuntu中的/etc/nginx/nginx.conf)并在 http <中添加/ strong>阻止:

client_max_body_size 100m;

然后重启Nginx。

答案 1 :(得分:6)

我们的一位客户遇到了同样的问题。

最后我们发现上传图片时出现了wordpress“HTTP Error”,这是由于服务器端的更改而发生的。托管公司决定将APC加速到服务器以增加服务器的稳定性和速度。 APC加速应仅适用于FastCGI,而不适用于su,因此它们将PHP设置为以FastCGI运行。

当使用PHP作为FastCGI时,如果您尝试上载大于128KB的文件,则会出现错误“mod_fcgid:HTTP请求长度131388(到目前为止)超过MaxRequestLen(131072)”并导致550内部服务器错误。 发生这种情况是因为MaxRequestLen指令的值默认设置为131072字节(128KB)。 解决此问题的一种方法(如果服务器使用Plesk)是编辑/etc/httpd/conf.d/fcgid.conf并将MaxRequestLen设置为更高的值,例如15MB(MaxRequestLen 15728640)。 如果服务器使用cPanel,则可以通过服务器的WHM完成此更改。

因此,如果您可以上传最大128KB的图像,这就是您解决问题的方法。

答案 2 :(得分:3)

将此行放在wp-config文件中:

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

答案 3 :(得分:2)

正如您已经推断的那样,问题在于文件上传的大小。只是为了提醒您,HTTP并不是真正构建用于传输大型文件的...... 可以这样做,但并非总是如此,而且不是很好。您遇到的问题是主机因为文件太大而切断了传输。它很可能是您无法访问的服务器设置。

由于“他们不支持第三方脚本”,我猜你是在共享托管环境中,这就是为什么在你没有做任何事情的情况下你的服务器上可能会发生变化的原因。可能的解决方案:

  1. 获取不同的主人
  2. 使用专用服务器
  3. 通过FTP传输较大的文件,而不是从WordPress传输。

答案 4 :(得分:1)

每当我尝试上传媒体时,我都遇到同样的问题,除了我在大于124Kb的文件上遇到“HTTP错误”! WP 3.3.1,PHP 5.2。

我打电话给我的主机,他们将内存增加到64M(也在wp-config中更改了),upload_limit增加到8 MB(默认为2 MB)。这不起作用,所以我使用了几乎所有其他东西,从篡改.htaccess到重新安装WP到在另一台服务器上安装新的WP,但一切都指向服务器问题。我再次打电话给主持人并与另一位增加了允许的HTTP请求长度设置的技术人员交谈。

答案 5 :(得分:1)

对于未来的读者,在经过艰难的搜索之后,我们设法找到了解决方案。

fcgid.conf文件中有一个设置(对于我在/ etc / apache2 / mods-enabled中):FcgidMaxRequestLen。见https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgidmaxrequestlen

我将字节设置为适当的长度,一切正常。似乎apache改变了他们对默认值(现在是131072字节)的想法:

  

在2.3.6之前,这个默认为1GB。早期版本的大多数用户应使用此指令设置更合理的限制。

答案 6 :(得分:0)

服务器可能有想象力安装为默认库,用于修复wordpress

我将以下代码放入functions.php文件中。它有效!

add_filter( 'wp_image_editors', 'change_graphic_lib' );

function change_graphic_lib($array) {
  return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}

答案 7 :(得分:0)

我尝试了所有常见的php.ini更改以及wp-config更改而没有运气。最后发现有人建议在我的浏览器中查看XHR async-upload.php的详细信息,并发现我们的防火墙出于某种原因将上传标记为特洛伊木马(MalAgent.H_9218具体)。所以不要忘记检查那里,它也可以识别其他可能的上传问题。

Chrome说明 按F12并选择网络选项卡,然后尝试使用WordPress上传,确保过滤器行在All或XHR上,在左下方窗格中找到并选择async-upload.php,在右下方窗格中选择预览。 / p>

答案 8 :(得分:0)

就我而言,通过在浏览器中关闭Adblocker扩展解决了

答案 9 :(得分:-1)

我们的问题是我们的负载均衡器用完了硬盘空间。请务必设置日志轮换,以便在一段时间后删除最旧的日志。

答案 10 :(得分:-1)

我们的问题实际上是客户端:人们试图通过拖放从OneDrive上传,这些文件尚未在本地同步但显示在OneDrive文件夹中。导致&#34; -200&#34;错误信息。如果文件在本地硬盘上,它工作正常。