PHP + AJAX无法上传大于100KB的文件

上传大于100KB左右的文件将失败,并显示500个服务器错误。 该网站build立在Laravel上,正在使用AJAX进行file upload。 小文件可以加载没有问题。

我已经testing了与GIMP缩放到小于100KB的图像相同的图像,而另一个缩放大于100KB的图像,所以问题不能是文件types或任何与图像本身相关的问题,而是问题似乎只涉及到文件尺寸。

我检查了最大内存php.ini,upload_max_filesize,post_max_size和一切都很好。 我也检查了apache虚拟主机没有最大文件大小configuration。 我检查了Apache日志,它只显示500服务器错误,没有任何细节。 我无法find任何其他日志文件中的线索。 我已经debugging了jQuery到AJAX调用,并确保PHP侧的调用函数没有被调用。 我试图检查Laravel的configuration,但找不到任何可能相关的东西。

任何想法的文件大小限制可能来自? 或者有什么想法可以从哪里得到更多的信息,500是从哪里来的?

更新:这里是成功和失败的请求的请求细节。 在成功的情况下,图像相同,缩小到100KB以下,失败的情况下超过100KB。

成功的要求:

Request URL:http://example.com/upload_photo Request Method:POST Status Code:200 OK Request Headersview source Accept:application/json, text/javascript, */*; q=0.01 Accept-Encoding:gzip,deflate Accept-Language:en-US,en;q=0.8,fi;q=0.6 Connection:keep-alive Content-Length:119826 Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryhVIN89yYhJPjWZoS Cookie:step1=d18d6d9cb707914642cc3df4501565c5c361feab%2B1; step2=d18d6d9cb707914642cc3df4501565c5c361feab%2B1; step3=d18d6d9cb707914642cc3df4501565c5c361feab%2B1; laravel_session=b6cc316fdb17ada3552da4168fa23ad35bc0f171%2B4nKoS74bQHSD9HjzIytxL3Tno2sBYbOKRPfemvHY Host:example.com Origin:http://example.com Referer:http://example.com/album/21095 User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36 X-Requested-With:XMLHttpRequest Request Payload ------WebKitFormBoundaryhVIN89yYhJPjWZoS Content-Disposition: form-data; name="0"; filename="1c.jpg" Content-Type: image/jpeg ------WebKitFormBoundaryhVIN89yYhJPjWZoS-- Response Headersview source Connection:Keep-Alive Content-Encoding:gzip Content-Length:42 Content-Type:text/html Date:Wed, 24 Sep 2014 01:20:09 GMT Keep-Alive:timeout=5, max=99 Server:Apache/2.2.22 (Ubuntu) Vary:Accept-Encoding X-Powered-By:PHP/5.3.10-1ubuntu3.10 

失败请求:

 Request URL:h_t_t_p://example.com/upload_photo Request Method:POST Status Code:500 Internal Server Error Request Headersview source Accept:application/json, text/javascript, */*; q=0.01 Accept-Encoding:gzip,deflate Accept-Language:en-US,en;q=0.8,fi;q=0.6 Connection:keep-alive Content-Length:142451 Content-Type:multipart/form-data; boundary=----WebKitFormBoundarycv7BVPR9y5npZxAB Cookie:step1=d18d6d9cb707914642cc3df4501565c5c361feab%2B1; step2=d18d6d9cb707914642cc3df4501565c5c361feab%2B1; step3=d18d6d9cb707914642cc3df4501565c5c361feab%2B1; laravel_session=b6cc316fdb17ada3552da4168fa23ad35bc0f171%2B4nKoS74bQHSD9HjzIytxL3Tno2sBYbOKRPfemvHY Host:example.com Origin:http://example.com Referer:http://example.com/album/21095 User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36 X-Requested-With:XMLHttpRequest Request Payload ------WebKitFormBoundarycv7BVPR9y5npZxAB Content-Disposition: form-data; name="0"; filename="1d.jpg" Content-Type: image/jpeg ------WebKitFormBoundarycv7BVPR9y5npZxAB-- Response Headersview source Accept-Ranges:bytes Connection:close Content-Encoding:gzip Content-Length:829 Content-Type:text/html Date:Wed, 24 Sep 2014 01:21:42 GMT ETag:"141df4-73b-5030bebf5947d" Last-Modified:Sun, 14 Sep 2014 19:57:01 GMT Server:Apache/2.2.22 (Ubuntu) Vary:Accept-Encoding 

原因是Apache的mod_fcgid默认限制file upload大小为128KB。