使用PHP5.6上载大文件时出错&;Apache2.4
我已经在我的Windows dev工作站上解决这个问题三天了。我已经在Apache的httpd.conf和PHP的PHP.ini中进行了大量研究并更改了很多设置,但还没有取得任何明显的进展。问题是,我可以上传高达100KB的图像文件,但在100KB到300KB之间,我开始超时。我想能够上传高达1MB的图像 在它超时之前的某个时刻,我在PHP代码上放置了一个断点,并且所有的$\u POST变量都是空的 总之:使用PHP5.6上载大文件时出错&;Apache2.4,php,apache,Php,Apache,我已经在我的Windows dev工作站上解决这个问题三天了。我已经在Apache的httpd.conf和PHP的PHP.ini中进行了大量研究并更改了很多设置,但还没有取得任何明显的进展。问题是,我可以上传高达100KB的图像文件,但在100KB到300KB之间,我开始超时。我想能够上传高达1MB的图像 在它超时之前的某个时刻,我在PHP代码上放置了一个断点,并且所有的$\u POST变量都是空的 总之: 最多100K->上传OK,我在输出上看到“是” 大约在100K和~300K->我可以执
- 最多100K->上传OK,我在输出上看到“是”
- 大约在100K和~300K->我可以执行PHP代码,但是所有的$u POST变量都是空的
- 高于~300K->超时
<?php
if( $_SERVER["REQUEST_METHOD"] == "POST" )
{
if( $_FILES["fileToUpload"]["error"] == UPLOAD_ERR_OK )
{
echo "Yes";
}
}
?>
<!DOCTYPE html>
<html>
<body>
<form action="TestFileUpload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<br />
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
这是相关的php.ini
max_execution_time = 1800
max_input_time = -1
post_max_size = 100M
upload_max_filesize = 100M
memory_limit = 1024M
这是Apache的access.log
127.0.0.1 - - [14/Jan/2016:11:01:39 -0200] "GET /TestFileUpload.php HTTP/1.1" 200 280
127.0.0.1 - - [14/Jan/2016:11:02:10 -0200] "POST /TestFileUpload.php HTTP/1.1" 408 221
这是Apache的error.log(我清除了它并重新启动服务器以获得干净的输出)
我没有在Apache中使用mod_安全性
你知道我还可以尝试什么吗?有什么配置吗?你有没有查看过httpd配置文件中fcgid部分的超时设置
<IfModule mod_fcgid.c>
[settings]
</IfModule>
[设置]
它可能是FcgidBusyTimeout设置。默认值为100;增加这个可能会帮助你。尝试:
<IfModule mod_fcgid.c>
FcgidBusyTimeout 9999
</IfModule>
FcgidBusyTimeout 9999
Try:粘贴php.ini和httpd.conf(最好通过pastie或类似的方式)mod_fcgid或php5_apache2 mod?看看FcgidMaxRequestLen,FcgidBusyTimeout,
<IfModule mod_fcgid.c>
[settings]
</IfModule>
<IfModule mod_fcgid.c>
FcgidBusyTimeout 9999
</IfModule>