Php 在同一页面上使用此功能两次时出现问题;

Php 在同一页面上使用此功能两次时出现问题;,php,Php,好的,我正在尝试在我的网站上创建一个服务器状态页面,我一直在使用下面的函数来查看一个网站是否处于活动状态。但是,当我尝试执行多个搜索时,对于第一个搜索之后的响应,响应总是DOWN 访问功能 function Visit($url){ $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init(); curl_setopt ($ch, CURLOPT_URL,$url );

好的,我正在尝试在我的网站上创建一个服务器状态页面,我一直在使用下面的函数来查看一个网站是否处于活动状态。但是,当我尝试执行多个搜索时,对于第一个搜索之后的响应,响应总是
DOWN

访问功能

function Visit($url){
       $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();
       curl_setopt ($ch, CURLOPT_URL,$url );
       curl_setopt($ch, CURLOPT_USERAGENT, $agent);
       curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt ($ch,CURLOPT_VERBOSE,false);
       curl_setopt($ch, CURLOPT_TIMEOUT, 5);
       curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
       curl_setopt($ch,CURLOPT_SSLVERSION,3);
       curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
       $page=curl_exec($ch);
       $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
       curl_close($ch);
       if($httpcode>=200 && $httpcode<300) return true;
       else return false;
}
错误日志

[30-Jun-2016 12:11:10 UTC] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /public_html/blog/server-status.php on line 40
[30-Jun-2016 12:11:10 UTC] PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /public_html/blog/server-status.php on line 41
第40行和第41行为:

   curl_setopt($ch, CURLOPT_USERAGENT, $agent);
   curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

执行上述脚本时给出的响应是
OK DOWN
,即使google已启动。我尝试了其他链接,但都产生了相同的错误。

函数没有返回true的原因是,Google使用302找到的HTTP代码进行应答

Twitter也是如此,但它的答案是301

您应该检查响应是否为重定向,并可能相应地返回它

这就是
var\u dump($httpcode)
输出的内容

我已尝试使用
访问(“https://www.google.it”
,它可以正常工作


您是否有任何错误?甚至错误都是开着的吗?你查过你要回的代码了吗?到目前为止,您做了哪些尝试来解决此问题?对不起,是的,我刚刚用错误日志进行了编辑。我真的不知道错误日志是否相关,因为它似乎不是最新的,但我只是在错误日志文件中提取了最新的日志。看看你的错误日志,你显示的行似乎不相关。在这些行中没有对fread或fclose的调用。好吧,是的,这是有意义的,所以我只需要找出我的站点在活动和非活动时生成了什么http代码,然后修改我的代码来读取它。谢谢。@GiamPy您是否在同一文档中为两个不同的URLSYE@LewisDay多次尝试使用该函数。我试过
https://www.netflix.com/it/
,它可以工作。你只需要小心,因为70%的网站在你访问他们的索引时会重定向到正确的路径。大多数都有本地化,一些使用HTTPS,一些使用WWW等。
   curl_setopt($ch, CURLOPT_USERAGENT, $agent);
   curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);