什么会导致 curl 在尝试访问本地文件时返回 false?
这个网站已经运行了几个月,并且一直运行良好。我有一个PHP页面,它根据URL中的数据创建发票(例如,viewinvoice.php?id=250基于记录250构建发票)。此页面可通过Web浏览器访问,并且工作正常。
在一个完全不同的页面上(即测试.php),我试图通过cURL访问该文件。但是,当我拨打电话并var_dump结果时,我得到bool(false)。
下面是进行 cURL 调用的函数:
function file_get_contents_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
HOME是一个常量,表示完整的url(例如 http://www.example.com/)。
$invoice_contents = file_get_contents_curl(HOME.'viewinvoice.php?id=242');
echo $invoice_contents;
var_dump( $invoice_contents );
我尝试将url更改为外部url(即 http://www.google.com/),页面加载良好。我得到谷歌的主页。但是,同一网域中的任何网页都不会加载。发生这种情况是有原因的吗?
我不是服务器管理员,但我对服务器具有root访问权限。我最近没有更改任何设置,但服务器管理员可能已经升级了apache或php的版本?
无论如何,是否有我可以修改的设置以使其再次工作?
附言:我刚刚尝试从外部服务器(不同域)进行此确切调用,并且它工作正常。