是否可以设置“回调函数”来执行某些操作,而不是在达到时间限制时返回错误?
答案 0 :(得分:2)
您可以删除时间限制(set_time_limit(0)
),然后跟踪PHP脚本开始执行的时间并与当前时间进行比较。
<?php
$startTime = microtime();
// Whatever you need to do...
// Place this where it needs to be in the context of your application.
if (microtime() - $startTime > 15000) {
// Time's up!
}
答案 1 :(得分:0)
我不这么认为......那种打破了函数的开头......我想如果你想做那样的事情,把它设置为0(没有时间限制)并跟踪时间不同的方式,并在X时间后做一些事情。
答案 2 :(得分:0)
正如其他人所说的那样。 如果您的脚本由于外部因素而超时(例如,它不会从单个函数调用中返回),那么您唯一的补救措施可能是使用pcntl_alarm和pcntl_signal。虽然我不确定这些可以在sapi的其他CLI中使用。
答案 3 :(得分:0)
你可以尝试这个: http://www.php.net/register_shutdown_function
function shutdown()
{
// This is our shutdown function, in
// here we can do any last operations
// before the script is complete.
echo 'Script executed with success', PHP_EOL;
}
register_shutdown_function('shutdown');