大気汚染統計の xml フィードを取得するために cron ジョブに依存するアプリケーションを数か月間正常に実行しました。1月からエラーなく動いていましたが、今朝7時からデータを読み込んでいません。関連するコードは次のとおりです。
<?php
define('FEED_URL', 'http://www.beijingaqifeed.com/BeijingAQI/BeijingAir.xml');
$contents = file_get_contents(FEED_URL);
if ($contents === false) echo "READ FAILED";
echo "FILE_GET_CONTENTS SIZE IS " . strlen($contents) . "<br>\n";
これを自宅のマシンで実行すると、次のように動作します。
FILE_GET_CONTENTS SIZE IS 21538
私のサーバーで実行すると、次のことはありません。
FILE_GET_CONTENTS SIZE IS 0
サーバー サイトのサポートに、URL を参照して xml データを表示できることを確認したので、ファイアウォールやこれをブロックするものはありません。そして、私が言うように、これは今朝まで 1000 回以上 (私のデータベースのエントリで測定して) 正常に機能しましたが、今では常に失敗しています。データ提供者とはつながりがないので、彼らの側から調査することはできません。
これが失敗し始めた理由と、私ができることを誰かが提案できますか? fread() と file() を試しましたが、結果は同じでした。
ありがとう...
(allow_url_fopenがオンになっていることを確認しました)