2012-04-27 14 views
5

上にある場合はnullを返し、私は警告メッセージが表示されます:のfile_get_contentsは、ストリーム許可を開くことができませんでしたのPHPのfile_get_contents allow_url_fopenを

を拒否された私は、php.iniファイルに上にall_url_open設定しました。

私のPHPファイルはApacheサーバーにあり、同じマシンのtomcatサーバーからurl(JSONを返す)にアクセスしようとしています。 PHPファイル内

コードは次のようになります。

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

    $results = file_get_contents($srcURL); 

私はまた、カールを試してみましたが、それはどちらか何も返さないと、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

上で視聴するWebサーバー

  • を再起動しない場合、私は、http(あなたは[ 'allow_url_fopen']言うことを意味想定しています。 net/allow_url_fopen)ディレクティブ? – Wiseguy

  • +0

    おそらくリモートサーバーが401アクセス拒否エラーを返していますか?ブラウザでURLを押してみましたか? –

    +0

    ブラウザからファイルにアクセスできますか? –

    答えて

    2
    • あなたがphpinfo()を実行することによって、これをダブルチェック
    • を書いたように、それは本当にallow_url_fopenなくall_url_openだことを確認してください。このオプションが有効になっていることを確認します。 // PHP:それは、あなたのカールの問題をデバッグするのWiresharkを実行し、loインタフェース
    関連する問題