WAMP2中的“Warning:file_get_contents”(Apache2.4.4,PHP5.4.12)

时间:2013-08-12 15:55:14

标签: php web-services html-parsing wamp

我试图通过简单的方式获取网页内容:

$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网站上的最后一次构建)。 我无法弄清楚是什么导致了我的问题。

1 个答案:

答案 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? )正在以不同的方式处理初始化。