gpt4 book ai didi

PHP 超时不会停止脚本?

转载 作者:行者123 更新时间:2023-12-03 22:37:32 24 4
gpt4 key购买 nike

我期待一些错误,例如 500 或带有以下代码的超时页面:

<?php
ini_set('max_execution_time',5);
set_time_limit(5);
echo 'start';
sleep(10);
echo '<br/>hi';

但是,我得到这样的结果:

starthi

Did I do something incorrect?

All I want is see the script stoped when timesout in the 5thd second, so the second echo should not be executed(I know this is quite a weird requirement)

Could anyone shred a light, thanks.

PS: seems the sleep() part is quite a distraction, how about I change the code like this:

<?php
ini_set('max_execution_time',5);
set_time_limit(5);
echo 'start';
for($i=1;$i<100000000;$i++){
if($i%100==2) echo $i;
else echo '--';
}
echo '<br/>hi';

最佳答案

根据 php.net 中的评论,您必须使用 unix... "Please note that, under Linux, sleeping time is ignored, but under Windows, it counts as execution time." (在 Unix/Linux 中, sleep 不被视为执行时间的一部分。)

此外,要使其超时,只需永远循环

<?php
while (true) {
// i'll error out after max_execution_time
}

要查看执行时间,您可以使用 microtime 找出执行时间或者查询刚刚设置的 max_execution_time 变量。

$max_time = ini_get("max_execution_time");
echo $max_time
?>

更新使用更新后的代码,输出符合预期。

Fatal error: Maximum execution time of 5 seconds exceeded in newfile.php on line 7

关于PHP 超时不会停止脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11876656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com