前几天写一个程序的时候,有一个脚本的执行时间比较长,100s+,但是php.ini默认的脚本超时时间是30s,所以自然而然的中断了,加上set_limit_time(0),发现函数被禁用了,汗。
到论坛问客服,客服说因为是共享服务器,为了避免某一个虚拟机内的脚本有死循环,使CPU飙升,就关闭了这个函数,听到这个结果,我异常蛋疼。
在蛋疼了一天以后,有个会员给提供了一个方法,利用htacces修改脚本超时时间等php.ini参数。试了一下,嘿,还真可以,又忽然想到了ini_set()这个函数,试了一下,依然可以,哇嘎嘎,我可以邪恶了~
实例:
# 先以htaccess为例 # 示例: # php_value 参数名 参数值 # 实例: php_value max_execution_time 600 # 这样,脚本超时时间就改为了600(十分钟)了
这是.htaccess的写法,不过貌似这样写之后,rewrite都失效了?反正我同目录下的dz伪静态没用,一直404,汗,方便没好货啊,不过如果禁用了ini_get和ini_set,这个方法还是可取的。
下面看php的:
<?php
echo "修改前:".ini_get("max_execution_time");
if(ini_set("max_execution_time",600))
echo "修改ing...";
else
exit("ini_set()函数被禁用");
sleep(3);
echo "修改后:".ini_get("max_execution_time");
?>
刚才忘了,最后加一句:htaccess那个只能用于 PHP_INI_ALL 或 PHP_INI_PERDIR 类型的指令,其它的不行。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号