【发布时间】:2015-01-17 00:17:24
【问题描述】:
我有一个 Web 应用程序,它通过 JSON 格式的 REST API 从自身获取数据。我正在将此站点移动到新主机上的新服务器上。我已经移动了所有东西,相同的数据库,相同的文件。主要区别在于 PHP 在新服务器而不是 FastCGI 上作为模块运行,并且新主机具有客户端可配置防火墙。
Web 应用程序使用 Pear 的 HTTP_Request 对象(GET 方法)进行 API 调用。当我运行进行调用的网络应用程序时,它会旋转,直到最终返回“连接超时”错误。
但是,如果我回显调用使用的 URL,然后直接在浏览器中点击它,它会立即返回所有 JSON 数据。
我想知道这是否可能是防火墙问题:Pear 的 HTTP_Request 对象内部使用的端口或协议被阻止? (目前有一个防火墙策略允许来自任何 IP 的端口 80 上的流量)。
或者是权限问题:作为模块运行的 PHP 对此更敏感。
任何想法将不胜感激!
【问题讨论】:
-
你能在那个服务器上通过 curl 获取 URL 吗?
标签: php rest pear http-request