我正在尝试将大文件上传到我的服务器(我的服务器支持 post_max_size
192mb 和 max_execution_time
600 秒)。当我上传 100mb 文件时,执行将在 600 秒后停止,因此文件不会上传到服务器。如何在 PHP 中增加 max_execution_time
(仅适用于文件上传过程)?我试过了:
ini_set ( 'max_execution_time', 1200);
if(move_uploaded_file($_FILES['Video']['tmp_name'],$tmppath)) {
// ...
}
有什么办法可以克服这个问题吗?
最佳答案
将此添加到 htaccess file (请参阅下面添加的编辑说明):
<IfModule mod_php5.c>
php_value post_max_size 200M
php_value upload_max_filesize 200M
php_value memory_limit 300M
php_value max_execution_time 259200
php_value max_input_time 259200
php_value session.gc_maxlifetime 1200
</IfModule>
其他资源和信息:
2021 年编辑:
随着PHP和Apache的发展和成长,我认为对于我来说,请花一点时间提及一些要考虑的事情,并可能“陷入困境”以考虑:
- PHP 可以作为模块或 CGI 运行。 不建议作为 CGI 运行,因为它为攻击向量创造了很多机会 [Read More] .如果特定模块来自
<IfModule
,则作为模块运行(更安全的选项)将触发要使用的设置已加载。 - 答案是写
mod_php5.c
在第一行。如果您使用的是 PHP 7,您可以将其替换为mod_php7.c
. - 有时在您对 .htaccess 文件进行更改后,重新启动 Apache 或 NGINX 将无法正常工作。 most common reason for this is you are running PHP-FPM ,它作为一个单独的进程运行。您也需要重新启动它。
- 请记住,这些设置通常在您的
php.ini
中定义。配置文件。此方法通常仅在您的托管服务提供商不允许您更改这些文件的情况下才有用。在您可以编辑 PHP 配置的情况下,建议您在此处应用这些设置。 - 最后,需要注意的是,并非所有 php.ini 设置都可以通过 .htaccess 文件进行配置。 php.ini 指令的文件列表可以是 found here ,而您唯一可以更改的是具有模式 php_ini_all 或 php_ini_perdir 。
关于php - 在 PHP 中增加 max_execution_time?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8744107/