1. ホーム

PHP Warning: file_get_contents がストリームソリューションを開くのに失敗しました。

2022-03-16 06:13:28

file_get_contents関数は、リモートファイルを取得する際にWarning: file_get_contents failed to open streamを表示します。この例が役立つといいのですが。

file_get_contentsでデータを取得するプロジェクトで作業していると、phpがエラーを報告します。 PHP Warning: file_get_contents failed to open stream: no suitable wrapper could be found.
ようやくcurlを使ってデータを取得しました
今日のBaidu! 解決策を見つけた! まずそれをコピーしてください
システム:centos 6.5
エラーログで、phpはエラーを報告しています。
Warning: file_get_contents() [function.file-get-contents]: http:// wrapper is disabled in the server configuration by allow_url_fopen=0
ストリームを開くのに失敗しました: 適切なラッパーが見つかりませんでした。
この警告は、サーバーがリモートファイルへのアクセスをブロックしているため、php.iniを変更するようにとのことです。
を配置します。
allow_url_fopen = Off
allow_url_include = Off

に変更する。
allow_url_fopen = On
allow_url_include = On

php-fpmを再起動するか、ウェブサービスを再起動します。
それでもうまくいかない場合
ウィンドウズでの取り扱い
c:\windows\php.ini
extension=php_openssl.dll

先頭の;を削除して、iisサービスを再起動します。
linuxでの取り扱い。
/etc/php.ini
extension=php_openssl.dll 

先頭の ; を削除して、apache サービスを再起動します。
上記の質問で問題が解決しなかった場合、次のようにテストすることができます。
$context = stream_context_create(array('http'=>array('ignore_errors'=>true)));
$contents = file_get_contents($url, FALSE, $context);

要求があれば、エラーを無視できる。警告メッセージを解決できる