这个问题似乎在过去到处都在谷歌和这里讨论过,但我还没有找到解决方案。
一个非常简单的 fopen 给了我一个
PHP Warning: fopen(http://www.google.ca): failed to open stream: HTTP request failed!".
我正在获取的 URL 并不重要,因为即使我获取了 http://www.google.com它不起作用。完全相同的脚本适用于不同的服务器。失败的是 Ubuntu 10.04 和 PHP 5.3.2。这在我的脚本中不是问题,它在我的服务器中有所不同,或者它可能是 PHP 中的错误。
我试过在 php.ini 中使用 user_agent 但没有成功。我的 allow_url_fopen 设置为开。
如果您有任何想法,请随意!
最佳答案
听起来您的配置不允许使用文件函数,出于安全考虑,这在当今很常见。如果您有可用的 cURL 库,我建议您尝试一下。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.google.ca/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$file = curl_exec($ch);
curl_close($ch);
echo $file;
关于PHP5 无法打开流 : HTTP request failed error when using fopen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4608788/