PHP file_get_contents()问题

时间:2011-07-27 05:49:56

标签: php

我尝试在PHP中使用带有file_get_contents()的API发送短信。

例如

file_get_contents("http://testsmssite/SMS.php?username=xx&password=ccc&message=MESSAGE&numbers=1111111111&sender=11111");

在本地机器上运行良好。

如果我把它放到服务器[服务器A]它不工作。如果我更改代码 即。 file_get_contents("http://google.com");它在服务器和本地都可以正常工作。

如果我把这个页面即

file_get_contents("http://testsmssite/SMS.php?username=xx&password=ccc&message=MESSAGE&numbers=1111111111&sender=11111");

到另一台服务器[服务器B]它工作正常。

如果我的[服务器A]有任何问题,那么它如何打开谷歌?

任何人都可以帮我解决这个问题吗?

4 个答案:

答案 0 :(得分:2)

检查错误日志。如果file_get_contents失败,它会告诉您在PHP错误日志中记录警告和通知的原因。

在相关问题Why doesn't file_get_contents work?中,有些人创建了a collaborative wiki answer that deals with how to trouble-shoot file_get_contents in detail。也许信息和评论也可以帮助你。

答案 1 :(得分:2)

请尝试使用curl,而不要使用file_get_contents。查看您的回复内容并查看curl_error。有许多可能的原因可能导致请求失败。

答案 2 :(得分:0)

您可以查看allow_url_fopen是否为真/已启用,http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen更多?这可能是一个原因。是的,Curl可能是更好的选择。

答案 3 :(得分:0)

检查服务器A是否可以访问http://testsmssite(尝试ping它)。也许你必须将它添加到/ etc / hosts。或者您可能需要更改testsmssite上的设置。 IMO它的网络问题,与PHP本身无关(因为在服务器上,PHP能够从http://google.com加载数据)