PHP5 无法打开流 : HTTP request failed error when using fopen

标签 php fopen

这个问题似乎在过去到处都在谷歌和这里讨论过,但我还没有找到解决方案。

一个非常简单的 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 库,我建议您尝试一下。

PHP: 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/

相关文章:

php - AJAX 调用成功但服务器未检索到数据

PHP 搜索表单

php - 如何在我自己的函数中使用混合参数类型?

c++ - 使用 fopen 打开文件,在 Windows 上给定绝对路径

c - 理解指针算术

c - 在 C 中处理 bmp 文件时,为什么 fopenf_s 会将文件指针初始化为 NULL?

c - 用C实时写入文件

c++ - 您应该如何处理线程中的文件打开错误而不取消?

php - SQL like 语句问题

php - 在 HAML 中选择列表(下拉列表)