0

我面临一个奇怪的问题。我有一个名为 $ipList 的数组,它包含一定数量的要传递给服务的 ip 地址。服务是指执行检查 ip 是否在他们的列表中的 api。此检查是通过 curl 会话完成的。它执行一分钟,得到这个结果后,当我打印我的数组时,它是空白的。如果我执行调用,它将打印数组,我认为数组在某个时间后被清除,该怎么办。

$ipList=getIpList(); //get iplist
$res=checkService($ipList); //this is the function for checking through curl 
print_r($ipList); // try printing array

如果我评论该行,它会打印$res=checkService($ipList);

我需要帮助 !

4

1 回答 1

0

最有可能发生的是checkService函数(您的“API 调用”)超时。

检查这是不是真的。如果是,请尝试优化checkService(或相应的脚本)或增加您的 PHP 超时间隔。

例子 :

set_time_limit (0);

文档:

http://php.net/manual/en/function.set-time-limit.php

void set_time_limit ( int $seconds )

设置允许脚本运行的秒数。如果达到此值,脚本将返回致命错误。默认限制为 30 秒,如果存在,则为 php.ini 中定义的 max_execution_time 值。

调用时, set_time_limit() 从零重新启动超时计数器。换句话说,如果超时是默认的 30 秒,并且在脚本执行 25 秒后调用了诸如 set_time_limit(20) 之类的调用,则脚本将在超时之前总共运行 45 秒。

于 2013-02-13T05:18:57.630 回答