我正在尝试创建一个文件上传脚本,我一直在努力解决这个问题。
我已阅读并尝试了与此相关的所有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。难道这就是阻止我上传的内容吗?
答案 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