我试图通过简单的方式获取网页内容:
$url = 'http://www.google.com';
$result = file_get_contents($url);
echo $result;
但是我在$result
:
Warning: file_get_contents(http://www.google.com): in C:\wamp\www\google\google_search.php on line 76
Call Stack
# Time Memory Function Location
1 0.0005 277824 {main}( ) ..\google_search.php:0
2 0.0106 757640 file_get_contents ( ) ..\google_search.php:76
在我的PHP.INI中,我允许“url_fopen”:
allow_url_fopen On On
我在x64 WIN机器上使用“Apache 2.4.4”和“PHP 5.4.12”(WAMP网站上的最后一次构建)。 我无法弄清楚是什么导致了我的问题。
答案 0 :(得分:1)
好的,我已经自己解决了这个问题。
在我的PHP代码中,我通过ini_set(...)
手动设置php.ini设置。其中一个设置是'default_socket_timeout'
,它是从WIN机器上的工作php文件导入的(WAMP2.2,PHP 5.4.3,Apache 2.4.2),我没有遇到任何问题{{1 }}。该值设置为file_get_contents(...)
,意思是0
而非default_socket_timeout=0sec
,因为可以从其他php.ini定义(例如'max_execution_time')得出结论。因此,作为将WAMP2.2中的php文件导出到WAMP2.4的结果,我还需要将default_socket_timeout=infinite sec
设置为某个正值(例如5秒),因为更新的WAMP(或者可能是PHP,还是Apache? )正在以不同的方式处理初始化。