PHPのfile_get_contents()が動いてくれないときに確認すべきこと

ローカル環境では問題なかったが、リモートサーバにアップしたところ動かなかったためちょっと調べた。

最初に疑ったのは、サーバのPHPの設定の問題。
phpinfo();で確認して、allow_url_fopen がoffになっていると、file_get_contents()は使えない。
php.iniを変更するなりする必要が有る。サーバのphp設定を変更する権限がない場合はあきらめるしかない。

私の場合は、サーバのallow_url_fopenはOnになっていて問題なかった。

問題だったのは、リモートサーバではBasic認証がかかっていたことだ、
file_get_contents()の引数に設定するURLに、Basic認証のユーザ名とパスワードを含めなければいけない。書き方は以下のとおり。

http://user:password@example.com/