61

我添加set_time_limit(0);了增加执行时间的功能,但它最多只执行 2-3 分钟。

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

我想从一个需要很长时间的网站中搜索链接。

4

8 回答 8

221

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

更多细节在我的博客

于 2013-01-12T05:53:17.500 回答
10

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

<IfModule mod_php5.c>
php_value max_execution_time 259200
</IfModule>
于 2011-10-12T12:52:29.183 回答
3

好吧,由于您在共享服务器上,因此您无能为力。他们通常设置最大执行时间,以便您无法覆盖它。我建议你联系他们。

于 2011-10-13T07:15:18.263 回答
1

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

ini_set('max_execution_time', '100')
于 2011-10-12T12:58:48.790 回答
1

对于 PHP 7 ,使用mod_php7.c而不是mod_php5.c

例子

<IfModule mod_php7.c>
   php_value max_execution_time 500
</IfModule>
于 2019-06-25T07:54:55.833 回答
0

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

于 2011-10-12T12:15:11.610 回答
0

这是一个老问题,但如果今天有人发现它,php 很可能会通过 php-fpm 和 mod_fastcgi 运行。在这种情况下,这里没有任何东西可以帮助延长执行时间,因为 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

更多细节 -增加 PHP-FPM 空闲超时设置

于 2017-01-03T22:17:10.077 回答
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>
于 2019-09-19T21:49:34.947 回答