PHP5无法打开流:使用fopen时HTTP请求失败错误

mic*_*key 9 php fopen

谷歌和这里似乎已经讨论过这个问题,但我还没有找到解决方案.

一个非常简单的fopen给了我一个

PHP警告:fopen(http://www.google.ca):无法打开流:HTTP请求失败!".

我提取的网址并不重要,因为即使我提取http://www.google.com它也不起作用.完全相同的脚本适用于不同的服务器.失败的是Ubuntu 10.04和PHP 5.3.2.这在我的脚本中不是问题,它在我的服务器中有所不同,或者它可能是PHP中的错误.

我尝试在php.ini中使用user_agent但没有成功.我的allow_url_fopen设置为On.

如果您有任何想法,请随意!

Mic*_*yen 9

听起来您的配置不允许使用文件功能,由于安全问题,这些日常见.如果您有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;
Run Code Online (Sandbox Code Playgroud)


And*_*ird 1

检查您的 php.ini 配置是否设置为允许 fopen 打开外部 URL:

allow_url_fopen "1"
Run Code Online (Sandbox Code Playgroud)

http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen

  • 在我的 Ubuntu 安装中默认设置为“On” (3认同)