0

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

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

4

1 回答 1

1

好的,我已经自己解决了这个问题。

在我的 php 代码中,我通过ini_set(...). 其中一项设置是'default_socket_timeout'它是从 WIN 机器(WAMP2.2、PHP 5.4.3、Apache 2.4.2)上的工作 php 文件导入的,我没有遇到任何函数问题file_get_contents(...)。该值设置为0, 意思是 default_socket_timeout=0sec而不是default_socket_timeout=infinite sec从其他 php.ini 定义中得出的结论(例如'max_execution_time')。因此,由于将 php 文件从 WAMP2.2 导出到 WAMP2.4,我还需要设置default_socket_timeout一些正值(例如 5 秒),因为较新的 WAMP(或者可能是 PHP,或 Apache?)正在处理初始化不同。

于 2013-08-12T16:58:02.697 回答