てくのろーぐ

新卒エンジニアの日常ログ

simplexml_load_fileにハマった話

昨日書いた記事のような感じでRSS取得作業を行っていたのですが、
業務に必要なページが取得できずハマりました。

まだ解決できていないのですが、調べたことやったことを書きます。

php.iniの確認

allow_url_fopen = on
この項目がoffになっていると取得できません(今回の場合は特定サイトからできないだけなので関係なかった)

$http_response_headerを調べる

$http_response_header =null
$data = file_get_contents('サイト名');
var_dump($http_response_header)

詳細なエラーメッセージが取得できます。
最初にnullを代入しないと成功したときの情報が残っていて表示されてしまうケースが有るみたいです。今回は500 Internal Server Errorでした。

ソースの構造を調べる

取得段階ではなくパースで躓いたならここかも
(取得できてたらsimplexml_load_fileとは関係ないのでは)

$_SERVERを調べる

サーバ情報や実行時の環境情報を取得できるので、解決のヒントが見つかるかも



解決でき次第、原因を追記します
同URLの違うページからは取得できたりするから余計にわからない。