我尝试在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]有任何问题,那么它如何打开谷歌?
任何人都可以帮我解决这个问题吗?
答案 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加载数据)