增加php的最大执行时间

增加php的最大执行时间,php,.htaccess,scripting,php-ini,Php,.htaccess,Scripting,Php Ini,我添加了设置时间限制(0)增加执行时间的函数,但其执行时间最多只有2-3分钟 错误报告(E_ALL); 错误报告(1); 设置时间限制(0); 我想从一个需要很长时间的站点搜索链接。您的Web服务器中可能设置了一个限制。某些浏览器/代理还将实现超时。通过HTTP请求调用长时间运行的进程是非常愚蠢的。解决此问题的正确方法(假设您无法加快处理速度)是使用HTTP请求触发webserver会话组之外的处理,然后通过HTTP轮询状态,直到获得结果集。将这些代码行添加到htaccess文件中。我希望它能

我添加了
设置时间限制(0)增加执行时间的函数,但其执行时间最多只有2-3分钟

错误报告(E_ALL);
错误报告(1);
设置时间限制(0);

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

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

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

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

php_值最大执行时间259200

嗯,有两种方法可以更改最大执行时间。
1.您可以直接在php.ini文件中进行设置。
2.其次,您可以在代码中添加以下行

ini_set('max_execution_time', '100')

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

PHP文件(例如,my_long_script.PHP)

.htaccess文件

<IfModule mod_php5.c>
php_value max_execution_time 300
</IfModule>
如果是drupal,则为sites/default/settings.php

ini_set('max_execution_time', 300); //300 seconds = 5 minutes
ini_set('memory_limit', '128M');
如果您正在使用其他框架,

define('WP_MEMORY_LIMIT', '128M');
ini_set('memory_limit', '128M');
您可以将内存增加为千兆字节

ini_set('memory_limit', '3G'); // 3 Gigabytes
259200表示:-

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

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


更多详细信息-

对php7使用mod_php7.c而不是mod_php5.c

范例

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

php_值最大执行时间500

尝试设置更长的
最大执行时间

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

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

php_值最大执行时间300
php_值最大执行时间300

有趣的是,这也适用于Suhosin“强化”PHP环境。这在托管我的网站的live server上也适用吗?我尝试过,但没有。因此,我很困惑,主机提供程序可能已经将最大执行时间设置为30秒,这就是为什么示例没有这样做work@SumithHarshan,将此设置为ini设置(“最大执行时间”,300)//300秒=5分钟,特别是对于一个脚本(在脚本运行期间一次),或者它也会(永久)更改php.ini中的默认值???好的,明白了,ini_set设置给定配置选项的值。配置选项将在脚本执行期间保留此新值,并在脚本结束时恢复。无论如何谢谢你!259200是什么意思?秒?259200/60=4320分钟4320/60=72小时72/24=3天我想知道是否可以为这个答案提供一个例子?您是指不是http请求的进程吗?类似于可执行文件的东西?“类似于可执行文件的东西?”-没有多大意义。一个例子对于这个论坛来说太复杂了——一种方法是使用守护进程,另一种方法是创建一个分离的进程()。我确实查看了一些好的守护进程示例,但只发现了很多不好的示例(提示:应该关闭它的stdio、fork和setsid)
<IfModule mod_php7.c>
   php_value max_execution_time 500
</IfModule>
<IfModule mod_php5.c>
    php_value max_execution_time 300
</IfModule>

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