php - 在 PHP 中增加 max_execution_time?

标签 php file-upload

我正在尝试将大文件上传到我的服务器(我的服务器支持 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/

相关文章:

c# - 如何上传 pdf 文件?

php - 如果存在这种可能性,则在 php.ini 中的何处或在何处更改这些推导出的 javascriptom 的编码

PHP $_GET/$_POST 通过可变变量

php - 在 php 中使用 simplexlsx 读取 excel xlsx 文件

python - 使用 Flask 上传图像并将其显示为响应

javascript - AWS S3 : MaxPostPreDataLengthExceeded Your POST request fields preceeding the upload file was too large

ruby-on-rails - Rails ajax 文件上传和 nginx

javascript - MySQL循环只能删除第一条数据?

php - 仅当从程序内启动 xampp 服务器时,才返回问号而不是阿拉伯字符

jquery - 模拟点击 &lt;input type =“file”/> jQuery、Opera