php搜索超过30秒怎么弄,关于php:致命错误:超过30秒的最大执行时间

我正在从在线来源下载JSON文件,当它在循环中运行时,出现此错误:

Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\temp\fetch.php on line 24

超过60秒的最大执行时间的可能重复,这已经是其他三个时间的重复。 请先使用搜索功能。

您的循环可能是无止境的。如果不是,则可以这样延长最长执行时间:

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

可用于暂时延长时间限制。

set_time_limit(300)可用于临时延长时间限制。

仅为此脚本设置此设置,还是会影响此脚本之后在同一服务器上执行的所有其他脚本?

@Rao是的,这仅适用于该脚本。要使其适用于所有脚本,您需要在php.ini文件中进行更改。你也可以做set_time_limit(0);如果您希望脚本永久或长时间运行

ini_set(max_execution_time,0); //没有限制

这是好习惯吗?例如,我已经在mysql数据表中下了订单,并且电子邮件正在发送给客户。此电子邮件发送任务一直在提供最大执行超时错误。我的问题再次是:延长时间或赶上例外是件好事吗?请帮助。

是否将此添加到代码顶部?

@sangam Id表示其最佳做法,是在允许一定数量的额外缓冲区的同时将此限制保持在尽可能低的水平。出于安全原因,我不想将其完全关闭。应该设置合理。实际上,我将它设置为在中等服务器压力级别完成我的最长运行脚本所花费的时间的两倍。仍然可能总是失败。因此,最佳做法也是分别处理耗时脚本的超时问题。

我遇到了同样的问题,并通过更改php.ini中的参数max_execution_time的值来解决它,如下所示:

max_execution_time = 360      ; Maximum execution time of each script, in seconds (I CHANGED THIS VALUE)

max_input_time = 120          ; Maximum amount of time each script may spend parsing request data

;max_input_nesting_level = 64 ; Maximum input variable nesting level

memory_limit = 128M           ; Maximum amount of memory a script may consume (128MB by default)

希望对您有所帮助。

出于某种原因,ini_set无法正常工作,但可以肯定的帮助!

可以在etcphp5apache2php.ini中找到php.ini ....我正在使用ubuntu 13.04 ...

在wamp上安装moodle时遇到相同的问题,但解决了配置php.ini文件的问题

更改php.ini后需要重新启动apache

[php7]-须藤nano /etc/php/7.0/apache2/php.ini

上面的所有答案都是正确的,但是在某些情况下,我使用一种简单的方法来避免这种情况。

只需将以下命令放在脚本开头即可:

根本不建议这样做

关闭时间限制无法防止无限循环,因此请始终设置(更大)限制。

@IamtheMostStupidPerson为什么不呢?如果您将其用作localhost

升级到WordPress 4.0时遇到了这个问题。默认情况下,WordPress将最大执行时间限制为30秒。

将以下代码添加到WordPress安装目录的.htaccess文件中,以覆盖默认设置。

php_value max_execution_time 300  //where 300 = 300 seconds = 5 minutes

编辑php.ini

找到这一行:

max_execution_time

将其值更改为300:

max_execution_time = 300

300表示http请求的执行时间为5分钟。

您的脚本正在超时。看一下set_time_limit()函数以延长执行时间。或分析脚本以使其运行更快:)

您能解释一下配置文件plz的意思吗?

@HarshaMV他的意思是使用性能配置文件来确定脚本开始缓慢的原因,并优化代码以缩短执行时间。根据瓶颈是什么(CPU与磁盘I / O与网络),这可能有用也可能没用。

如果以上方法都不适合您,则将.htaccess文件添加到脚本所在的目录中,并将其放在其中

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

这是我解决问题的方式,ini_set('max_execution_time', 86400);和set_time_limit(86400)都没有解决我的问题,但是.htaccess方法可以。

在我的情况下有效。谢谢。用G替换M为GB

我们可以通过3种不同的方式解决此问题。

1)使用php.ini文件

2)使用.htaccess文件

3)使用Wp-config.php文件(适用于Wordpress)

您可以通过在脚本顶部添加以下行来将限制设置为零来消除限制:

也许检查php.ini文件下是否有任何更改。

例如,为了将"; intl.default_locale ="更改为"; intl.default_locale = en_utf8",以便在不添加" extension = php_intl.dll"的情况下启用"国际化扩展名(Intl)",然后发生了相同的错误。所以我建议检查类似的错误。

遵循路径/etc/php5(your php version)/apache2/php.ini。

打开它,并将max_execution_time的值设置为所需的值。

在某些托管服务提供商上,您可能需要在/ home / [用户名] /。php / 7.0 / phprc上进行设置

通过在PHP脚本顶部添加以下行来增加脚本执行时间。

ini_set('max_execution_time', 120); //120 seconds = 2 minutes

参考来自"增加PHP脚本执行时间"

要扩展max_execution_time,可以使用ini_set或set_time_limit。

// Set maximum execution time to 10 seconds this way

ini_set('max_execution_time', 10);

// or this way

set_time_limit(10);

!!但是请注意,这两个功能都会重新启动,并且还会计算脚本执行所需的时间

sleep(2);

ini_set('max_execution_time', 5);

register_shutdown_function(function(){

var_dump(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']);

});

for(;;);

//

// var_dump outputs float(7.1981489658356)

//

因此,如果您想设置脚本可以运行的最长时间,则必须首先执行命令。

这两个功能之间的差异是

set_time_limit不会返回信息是否成功,但是会在错误时发出警告。

ini_set成功返回旧值,失败则返回false,而没有任何警告/错误

你可以用whm轻松地做到这一点。 Jusst开始使用whm ----->服务配置---------> php配置编辑器------- max_execution_time -----> 30(默认将其更改为任何值你想)

我在WordPress网站中遇到了同样的问题,

我添加了.htaccess文件,然后对我来说很好用。

php_value max_execution_time 6000000

我在以下情况下做了一些更改:xampp phpMyAdmin libraries config.default.php

我已经搜索了$cfg['ExecTimeLimit']并更改了右侧的值...

您可以将"右手值"更改为任何更高的值,例如" 5000"。而且有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值