我可以为代码块设置时间限制吗?

时间:2011-05-11 07:06:53

标签: php php-5.3

是否可以启动一个代码块(可能只是调用一个函数),如果它在一定时间内没有执行则跳过它。

//give this function 10 seconds to execute
$value = mega_function();// could take anything from 1-1000 seconds
//if 10 seconds have passed and the value is still not set, abort it and set $value = false;

2 个答案:

答案 0 :(得分:7)

没有。你必须要么

  • 使用curl或file_get_contents()在外部文件中调用该函数 - 您可以在那里设置超时

  • 如有必要,请跟踪mega_function()return()内的时间。

mega_function()做了什么?

答案 1 :(得分:0)

尝试查看线程,但在PHP中执行类似的操作可能很尴尬:)

查看http://php.net/manual/en/function.pcntl-fork.php和所有与pnctl相关的函数,用于创建子节点,在它们之间发送信号,等待子节点完成或杀死线程。