我有一个应用程序成功运行了几个月,它依赖 cron 作业来获取空气污染统计数据的 xml 提要。自一月份以来它一直运行没有错误,但今天早上从 7:00 开始它还没有读取数据。相关代码如下:
<?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 是否打开)