无法上传大于8MB的文件

时间:2015-01-21 02:43:36

标签: php apache file-upload upload

我正在尝试创建一个文件上传脚本,我一直在努力解决这个问题。

我已阅读并尝试了与此相关的所有SO答案,但无济于事。

这是我在php中尝试的内容。 INI:

file_uploads = On
upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 100M

在Apache我有:

<Directory /var/www/uploads>
php_value upload_max_filesize 10G
php_value post_max_size 10G
</Directory>

我可能已经尝试了其他一些现在还没有想到的东西。

我还想提一下8MB以下的所有内容都没有问题。此外,超时也不是问题,因为上传仅在几秒钟内失败。

P.S。我正在使用Cloudflare。难道这就是阻止我上传的内容吗?

2 个答案:

答案 0 :(得分:2)

通过在其中创建包含phpinfo()的test.php文件来确认PHP.ini的位置。

接下来,检查您的Apache(LimitRequestBody指令*)和php.ini(upload_max_filesize)限制,通常这些限制设置得更高。值以字节为单位。

Apache 2.0的默认上传大小为524288,可在php&#34; include文件中找到#34; /etc/httpd/conf.d/php.conf,要覆盖此值,请将以下指令放在httpd.conf虚拟主机指令中:

<Files *.php>
LimitRequestBody 30000000
</Files>

(此示例将请求正文限制为30M)

Apache 1.3没有此默认值,因此您通常只需要更改php.ini(upload_max_filesize,post_max_size)值和config.ini(maxuploadfilesize)值。

最后,检查RequestReadTimeout设置。更多https://serverfault.com/a/260389

答案 1 :(得分:0)

有时执行时间发生问题, 使用set_time_limit(0);

检查php.ini ini_set(&#39; max_execution_time#39;,0); // 0