【发布时间】:2012-03-23 08:47:51
【问题描述】:
将我的网站移动到新域后,我在使用 file_get_contents 时遇到了一些奇怪的问题。我必须设置一个新的域和 IP 地址(使用 Plesk)才能使新的 ssl 证书正常工作。现在我的 file_get_contents 在同一个域上调用一个脚本给了我这个:
打开流失败:HTTP 请求失败! HTTP/1.1 404 未找到
如果我在另一台服务器上使用 file_get_contents 调用相同的 url,它工作正常,如果我从失败的服务器调用 www.google.com,那么它似乎只有在同一服务器上调用 url !
我感觉这可能与在一台服务器上拥有两个具有两个不同 ssl 证书的 IP 有关,当我从服务器获取服务器的 file_get_contents /(索引页面)时,我得到了 plesk '这是一个新的domain' 页面,因此它就像 apache 在从自己的服务器调用时没有查找正确的虚拟主机。
澄清(希望如此!):
在托管域的服务器上:
file_get_contents('https://mydomain.com?limit=4&offset=0&s_date=2012-02-05&e_date=2012-03-13&order=release_date&dir=desc&cid=12');
给出“打开流失败:HTTP 请求失败!HTTP/1.1 404 Not Found”
file_get_contents('http://www.google.com');
正常工作
在另一台服务器上:
file_get_contents('https://mydomain.com?limit=4&offset=0&s_date=2012-02-05&e_date=2012-03-13&order=release_date&dir=desc&cid=12');
工作正常。
我已尝试关闭 ssl,但仍然遇到同样的问题。
【问题讨论】:
-
发布完整代码将帮助您更好地获得正确答案
-
N e w B e e 是对的,我不确定我是否理解这一点。
-
你能在你的脚本中测试
echo gethostbyname('mydomain.com');吗?并向我们展示您的虚拟主机配置。 -
您能否在托管域的服务器上发出 ping 或某种 DNS 解析? 404表示找不到文件,与SSL无关。另外,您是否有权访问网络服务器的访问日志?也许你会在那里找到一些线索。另外,如果您尝试从自己的浏览器访问该 URL,结果如何?
-
我在旧版 Windows 服务器上遇到了同样的问题
标签: php file-get-contents