我使用PHP的超时/执行时间有问题。我要做的是通过使用以下脚本来测试Filemaker数据库是否可用:
$connected = $fm->listLayouts();
if(FileMaker::isError($connected))
{
die('Error - ' . $connected->getCode() . ' ' . $connected->getMessage());
}
问题是,脚本 60秒显示以下错误:
错误-7通信错误:(7)无法连接到103.22.180.61端口80:连接时间
这太长了。是否有一种方法可以在PHP中尝试连接到数据库,如果它在10秒内不起作用,只需停止尝试连接并显示错误(或还有什么)马上?我尝试了...
set_time_limit(10);
if(FileMaker::isError($connected))
{
die('Error - ' . $connected->getCode() . ' ' . $connected->getMessage());
}
,但它不起作用。仍然60秒。有什么想法吗?我确实尝试过一个小时的研究,没有任何成功...非常感谢!
max_execution_time
或 set_time_limit
纯粹仅用于PHP脚本。如果连接到Filemaker,则可能在Filemaker配置中的其他地方设置了超时。
来自php doc;
注意: set_time_limit()函数和配置指令max_execution_time仅影响脚本本身的执行时间。在确定脚本运行的最大时间时,不包括在执行脚本之外的活动上花费的任何时间,例如使用System(),流操作,数据库查询等进行的时间。在测量时间是真实的窗口上,情况并非如此。