增加php的最大执行时间

时间:2011-10-12 12:11:04

标签: php .htaccess scripting php-ini

我添加了set_time_limit(0);函数来增加执行时间,但最多只执行2-3分钟。

error_reporting(E_ALL);
error_reporting(1);
set_time_limit(0);

我想搜索一个长篇大论的网站链接。

非常感谢任何帮助。

非常感谢。

8 个答案:

答案 0 :(得分:205)

PHP文件(例如,my_lengthy_script.php)

ini_set('max_execution_time', 300); //300 seconds = 5 minutes

.htaccess文件

<IfModule mod_php5.c>
php_value max_execution_time 300
</IfModule>

更多配置选项

<IfModule mod_php5.c>
php_value post_max_size 5M
php_value upload_max_filesize 5M
php_value memory_limit 128M
php_value max_execution_time 300
php_value max_input_time 300
php_value session.gc_maxlifetime 1200
</IfModule>

如果是wordpress,请在config.php文件中设置

define('WP_MEMORY_LIMIT', '128M');

如果是drupal,sites / default / settings.php

ini_set('memory_limit', '128M');

如果您正在使用其他框架,

ini_set('memory_limit', '128M');

您可以将内存增加为千兆字节

ini_set('memory_limit', '3G'); // 3 Gigabytes

259200表示: -

( 259200/(60x60 minutes) ) / 24 hours ===> 3 Days

More details on my blog

答案 1 :(得分:10)

在htaccess文件中添加以下代码行。我希望它能解决你的问题。

<IfModule mod_php5.c>
php_value max_execution_time 259200
</IfModule>

答案 2 :(得分:3)

好吧,既然你在共享服务器上,你就无法做任何事情。它们通常设置最大执行时间,以便您无法覆盖它。我建议你联系他们。

答案 3 :(得分:1)

嗯,有两种方法可以改变max_execution_time 1.您可以直接在php.ini文件中设置它 2.其次,您可以在代码中添加以下行。

ini_set('max_execution_time', '100')

答案 4 :(得分:0)

您的网络服务器可能设置了限制。某些浏览器/代理也会实现超时。通过HTTP请求调用长时间运行的进程非常愚蠢。解决问题的正确方法(假设您无法更快地进行处理)是使用HTTP请求触发Web服务器会话组之外的处理,然后通过HTTP轮询状态,直到您获得结果集。 / p>

答案 5 :(得分:0)

这是一个老问题,但如果今天有人发现它有机会通过php-fpm和mod_fastcgi运行php。在这种情况下,这里没有任何内容可以帮助延长执行时间,因为Apache将终止与30秒内不输出任何内容的进程的连接。扩展它的唯一方法是在apache(module / site / vhost)配置中更改-idle-timeout。

FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /run/php/php7.0-fpm.sock -idle-timeout 900 -pass-header Authorization

更多详情 - Increase PHP-FPM idle timeout setting

答案 6 :(得分:0)

对于PHP 7,使用 mod_php7.c 代替 mod_php5.c

示例

cur.execute("SELECT * FROM jobs_table")

答案 7 :(得分:0)

尝试设置更长的max_execution_time

<IfModule mod_php5.c>
    php_value max_execution_time 300
</IfModule>

<IfModule mod_php7.c>
    php_value max_execution_time 300
</IfModule>