use*_*789 2 php linux apache dns
我正以这个结束我的智慧.我在我的服务器(亚马逊ec2实例)上运行apache,我似乎无法解析php中的域名.例如,fopen(' http://www.google.com','r ')将抛出"php_network_getaddresses:getaddrinfo failed:名称或服务未知",但是如果我将网址更改为google的ip地址之一,它将会起作用精细.在远程服务器上ping www.google.com也可以正常工作,所以我知道它不是"外部系统"的问题.
奇怪的是,我已经让这台服务器运行了一段时间没有任何问题,我想不出我做过的任何可能造成这种情况的事情.
在我的php.ini中,我有allow_url_fopen = On并确保它正在应用我从具有此问题的相同脚本运行phpinfo()并且实际上allow_url_fopen已打开.
还有什么我应该尝试的想法?某种文件权限问题会导致这种情况吗?因为我确实在我的webapp中更改了一些文件权限,我想我可能错误地输入了一些内容并且意外地更改了应用程序之外的某些文件的权限/欠权限.它极不可能,但我想不出我在系统上所做的任何其他事情都可以阻止它工作.
您可以尝试使用file_get_contents:
file_get_contents('http://www.google.com');
Run Code Online (Sandbox Code Playgroud)
fopen和file_get_contents几乎相同,但并不总是在服务器上的相同配置下工作。
| 归档时间: |
|
| 查看次数: |
3626 次 |
| 最近记录: |