Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将图像上载到wordpress(nginx+;varnish+;apache)_Wordpress_Apache_File Upload_Nginx_Varnish - Fatal编程技术网

无法将图像上载到wordpress(nginx+;varnish+;apache)

无法将图像上载到wordpress(nginx+;varnish+;apache),wordpress,apache,file-upload,nginx,varnish,Wordpress,Apache,File Upload,Nginx,Varnish,我在运行两台服务器 一种是运行nginx的网关,用于将不同域的请求分派到不同的服务器 另一个是安装WordPress的服务器 我在Apache前面使用Varnish来做缓存(只缓存,没有负载平衡)。我已经关闭了Apache的KeepAlive,并将Timeout设置为20秒 现在我上传一个160KB大小的图像,但失败了,而我的服务器配置允许最大大小为20MB。在WordPress中提交上传表单后,我可以从浏览器的状态行中看到文件被上传了好几次(主要是2次或3次)。当我使用WordPress的

我在运行两台服务器

  • 一种是运行nginx的网关,用于将不同域的请求分派到不同的服务器
  • 另一个是安装WordPress的服务器
我在Apache前面使用Varnish来做缓存(只缓存,没有负载平衡)。我已经关闭了Apache的
KeepAlive
,并将
Timeout
设置为20秒

现在我上传一个160KB大小的图像,但失败了,而我的服务器配置允许最大大小为20MB。在WordPress中提交上传表单后,我可以从浏览器的状态行中看到文件被上传了好几次(主要是2次或3次)。当我使用WordPress的异步上传插件时,我还可以看到进度条从0%增长到100%,并且一次又一次,直到失败

当它失败时,它会阻塞路径
/wp admin/media upload.php?inline=&upload page form=
,Chrome会说“Error 101(net::ERR_CONNECTION_RESET):连接被重置。”我也尝试过Firefox,完全一样

我在Varnish和Apache的错误日志中看不到任何相关内容。但是,我确实在nginx的访问日志中看到以下日志的多行:

220.255.1.18 - - [01/Jan/2013:12:16:36 +0800] "POST /wp-admin/media-upload.php?inline=&upload-page-form= HTTP/1.1" 400 0 "http://MY-DOMAIN/wp-admin/media-new.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11"
220.255.1.29 - - [01/Jan/2013:12:16:41 +0800] "POST /wp-admin/media-upload.php?inline=&upload-page-form= HTTP/1.1" 400 0 "http://MY-DOMAIN/wp-admin/media-new.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11"
220.255.1.23 - - [01/Jan/2013:12:16:51 +0800] "POST /wp-admin/media-upload.php?inline=&upload-page-form= HTTP/1.1" 400 0 "http://MY-DOMAIN/wp-admin/media-new.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11"
220.255.1.26 - - [01/Jan/2013:12:17:03 +0800] "POST /wp-admin/media-upload.php?inline=&upload-page-form= HTTP/1.1" 400 0 "http://MY-DOMAIN/wp-admin/media-new.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.101 Safari/537.11"

那有什么问题?如何修复它?

php错误日志如何?@Kostiashian没有单独的php日志文件。PHP日志应该在Apache日志中。我很久以前也遇到过这个问题,当时它是Rails应用程序,所以可能不是PHP造成的。我是说PHP.ini文件中的error_log指令。但这在默认情况下是禁用的。您还可以检查错误报告指令。另外,处理上传的代码也可能没有全部检查。作为替代,你可以使用像ethereal一样的嗅探器。我也有同样的问题,但是改变了网络,它就解决了这个问题。