我的问题与此类似,但不完全是。
如果我这样做$string = @file_get_contents('http://www.somesite.com/script.php');
并且在 script.php 中存在解析错误,$string
则获取解析错误的值,而不是 bool false。错误不在本地站点上,而是在远程站点上。
我想我必须进行字符串比较来检查这种情况,但是是否有我应该查找的某些字符串的列表,比如'<b>Parse error</b>:'
and '<b>Warning</b>:'
?有没有更好的方法来检查远程脚本上的错误?
(我可以控制这两个域,以防您的建议有所不同。)
这是我放在远程服务器上的代码:
if(!$_SERVER['QUERY_STRING'])
{
echo('Can you get me?');
}
else
{
foreach ($imnotanarray as $fail) //intentionally cause an error
{
echo $fail;
}
}
这是来自本地服务器的代码
$success=file_get_contents('http://www.tecbrat.com/fgc_responder.php');
$success_header=$http_response_header[0];
$failure=file_get_contents('http://www.tecbrat.com/fgc_responder.php?do=fail');
$failure_header=$http_response_header[0];
$failure2=@file_get_contents('http://www.tecbrat.com/fgc_responder.phxp');
$failure2_header=$http_response_header[0];
echo 'Success is '.$success.'and the header is '.$success_header."<br><br>\n\n";
echo 'Failure is '.$failure.'and the header is '.$failure_header."<br><br>\n\n";
echo 'Another Failure is ';
var_dump($failure2);
echo ' and the header is '.$failure2_header;