【问题标题】:File_get_contents Returning Empty string in LocalhostFile_get_contents 在 Localhost 中返回空字符串
【发布时间】:2012-11-27 17:51:32
【问题描述】:

嗨,下面的代码在我的主机中运行良好,但在我的 localhost 中却不行。

<?php 
$hi = file_get_contents("https://ojooo.com");
echo $hi;
?>

但奇怪的是下面的代码在我的本地主机中工作。

<?php 
$hi = file_get_contents("https://yahoo.com");
echo $hi;
?>

我真的很困惑为什么代码在我的主机中运行但在我的 localhost 中运行。有人请指导我出了什么问题。谢谢。

【问题讨论】:

  • 即使我使用 CURL 访问本地主机页面时也遇到此问题。

标签: php macos localhost file-get-contents


【解决方案1】:

启用 Apache 模块 ssl_module

如果你使用 wamp 点击 wamp icon > apache > apache module 然后选择 ssl_module

【讨论】:

  • 是的,我做到了!还是空白文件
  • 我不使用Wamp。我使用MAC直接使用php
【解决方案2】:

这可能是由您的 PHP 设置文件(PHP.ini 或 conf)引起的

您要查找的设置可能是allow_url_fopen

如果您想在不更改 php 设置文件的情况下获取内容,您可以使用 fsockopen 或使用启用 cURL 的 PHP。

【讨论】:

  • 是的,它是正确的...但是 yahoo.com 的 file_get_contents 为何为我工作.. 而不是 ojooo.com
【解决方案3】:

作为上述问题的解决方案,您需要在 php.ini 配置文件中将 allow_url_fopen 设置为 On。

此选项启用可识别 URL 的 fopen 包装器,从而可以访问 URL 对象(如文件)。

有关配置参数的更多说明,请参阅下面 url 中提到的文档。

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

【讨论】:

  • 在您的本地主机中使用 phpinfo() 函数检查配置参数“allow_url_fopen”的值。它可能在您的托管环境中启用,但可能在您的本地环境中设置为关闭
  • 是的,它开启,我的意思是 yahoo.com 的 file_get_contents 仅在本地主机中为我工作
猜你喜欢
  • 2011-05-09
  • 1970-01-01
  • 2015-01-24
  • 1970-01-01
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-14
相关资源
最近更新 更多