1、使用 file_get_contents() 函数, 参数为域名地址时返回空,为ip地址时有数据。
2、linux中可以ping 通 域名
3、php-cli 执行,可以访问远程域名,并到得数据。
4、通过浏览器 即php-fpm模式 curl 和 file_get_contents 都不可以访问远程域名。
5、在 /etc/hosts 中添加 220.181.112.244 www.baidu.com 后 php-fpm模式,就可以访问到数据了。
代码:
echo 1;
try {
var_dump(file_get_contents('http://220.181.112.244/index.html'));
// var_dump(file_get_contents('http://www.baidu.com'));
} catch (Exception $e) {
print_r($e->getTrace());
}
echo 2;
1、参数为:http://www.baidu.com
2、参数为:http://220.181.112.244/index....
3、在服务器执行脚本,两种参数都有返回数据。
这是file_get_contents() 方法请求的错误信息:
2018/05/26 22:16:03 [error] 24942#0: *46192 FastCGI sent in stderr: "PHP message: PHP Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /data/com.9b/duolaixue_admin/test_print/test.php on line 13
php curl 请求的错误信息:
Could not resolve host: www.baidu.com; Name or service not known
吃鸡游戏
米琪卡哇伊
慕丝7291255