2016-05-06 7 views
0

ドメイン(https://dev.project.com/)と画像https://dev-images.project.com/(ドメイン)の2つのドメイン(両方ともhttps)を使用しています。フロントページは画像をうまく読み込みますが、私はfile_get_contentsでこの問題を抱えています。file_get_contents():証明書を見つけることができませんCN

ErrorException in Collection.php line 228: 
file_get_contents(): Unable to locate certificate CN 
in Collection.php line 228 
at HandleExceptions->handleError('2', 'file_get_contents(): Unable to locate certificate CN', '') 
at file_get_contents('https://dev-images.project.com/images/12012_resized.jpg') in Collection.php line 228 

ファイル自体は存在し、ブラウザでチェックされていると開きます。私はthis solutionをチェックしますが、すべてのテストが正である:証明書は、ローカルに生成され、

curl.cainfo = "D:\wamp64\cacert.pem" 

私のdevのステーションがありphp.iniで設定されている

extension=php_openssl.dll 
allow_url_fopen = On 

openssl: yes 
http wrapper: yes 
https wrapper: yes 
wrappers: array (size=12) ... 

のphp.ini Wamp64サーバーをWindow10上でPhp 5.6で実行します。サイトはLaravel5に基づいています。

答えて

1

このようにあなたのカフェにパスを渡そうとします。

$opts=array(
    "ssl"=>array(
     "cafile" => "D:\\wamp64\\cacert.pem", 
     "verify_peer"=> true, 
     "verify_peer_name"=> true 
    ) 
); 

file_get_contents($url,false,stream_context_create($opts)); 

編集:これはあなたのローカルサーバにのみ障害が発生した場合、あなたは自分のローカルサーバに、それはエラーや余分な行が含まれていないことをcacert.pemの中に自分のローカルに作成されたSSL証明書を追加した場合は、確認してください。

+0

私はこのような約1500のエントリを持っています。これは正しいことですか、特にこれはローカルのWindowの開発環境でのみ失敗しますが、Linuxの生産にはうまくいきますから...。 – Peon

+0

'file_get_contents 3リソース、配列与えられた ' – Peon

+0

これはあなたのローカルサーバーでのみ失敗しますか? cacert.pemにローカルで作成したSSL証明書を追加しましたか?あなたのローカルサーバーで? –

関連する問題