【发布时间】:2012-01-19 20:48:34
【问题描述】:
我在使用这个脚本时遇到了问题。它适用于我的本地服务器和测试服务器,但似乎无法在我的 Rackspace 服务器上正确运行。
<?php
$path = "http://query.yahooapis.com/v1/public/yql?q=";
$path .= urlencode("SELECT * FROM feed WHERE url='http://feeds.feedburner.com/TMSEvents'");
$path .= "&format=json";
$feed = file_get_contents($path, true);
$feed = json_decode($feed); ?>
这很简单,但我在 Rackspace 服务器上收到以下错误消息:
PHP 警告: file_get_contents(http://query.yahooapis.com/v1/public/yql?q=SELECT+%2A+FROM+feed+WHERE+url%3D%27http%3A%2F%2Ffeeds.feedburner.com%2FTMSEvents%27&format= json) [function.file-get-contents]: 无法打开流:HTTP 请求失败! HTTP/1.0 500 999 本页 目前不可用
任何人都知道为什么这可以在一台服务器上运行,但不能在另一台服务器上运行?谢谢!
【问题讨论】:
-
是否有防火墙阻止传出端口 80 请求?
-
您可能有出站防火墙或代理设置...通常是大型提供商的出站代理。
-
确实,似乎是代理问题。除非远程服务器关闭,我怀疑这是因为我可以从浏览器成功发出该请求。
-
尝试向例如
http://www.yahoo.com/发出请求,看看是否得到相同的结果。如果你这样做,它可能是一个代理。你也可以问你的主人...... -
尝试执行
wget http://google.com并查看是否收到 500 错误或 index.html 页面。
标签: php file-get-contents json