启用allow_url_fopen时,php file_get_contents返回null

时间:2012-04-27 16:57:16

标签: php apache tomcat file-get-contents

我收到警告消息:file_get_contents无法打开流权限被拒绝

我已经在php.ini文件中将all_url_open设置为on。

我的php文件在我的apache服务器中,它试图从同一台机器上的tomcat服务器访问一个url(返回JSON)。

php文件中的代码如下:

  $srcURL = 'http://samemachine:8080/returnjson/';

  $results = file_get_contents($srcURL);

我也尝试过curl,它什么都不返回,也没有命中tomcat服务器:

    function curl($url){
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Language: en-us'));
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        $data = curl_exec($ch);

        curl_close($ch);
        return $data;
    }

为什么许可被拒绝?

1 个答案:

答案 0 :(得分:3)

  • 确保它真的是allow_url_fopen而不是all_url_open,因为你写了
  • 通过运行phpinfo()来仔细检查。确保它将选项列为已启用。如果它没有重新启动您的Web服务器
  • 要调试卷曲问题,请运行Wireshark并观察lo界面