Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
使用PHP5.6上载大文件时出错&;Apache2.4_Php_Apache - Fatal编程技术网

使用PHP5.6上载大文件时出错&;Apache2.4

使用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->我可以执

我已经在我的Windows dev工作站上解决这个问题三天了。我已经在Apache的httpd.conf和PHP的PHP.ini中进行了大量研究并更改了很多设置,但还没有取得任何明显的进展。问题是,我可以上传高达100KB的图像文件,但在100KB到300KB之间,我开始超时。我想能够上传高达1MB的图像

在它超时之前的某个时刻,我在PHP代码上放置了一个断点,并且所有的$\u POST变量都是空的

总之:

  • 最多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>