我在我的linux发行版上安装了LAMP:
///
PHP 5.4.9-4ubuntu2.4(cli)(建立日期:2013年12月12日04:29:20)版权所有(c)1997-2012 PHP Group Zend Engine v2.4.0,版权所有(c)1998-2012 Zend Technologies with Xdebug版权所有(c)2002-2012,作者:Derick Rethans
///
为了使用来自pecl_http php扩展的http_get,我已经明确地安装了它,并将http.so扩展名添加到php.ini中.
现在我在以下场景中.使用下面的简单PHP代码:
echo var_dump(extension_loaded("http"));
echo var_dump(extension_loaded("raphf"));
echo var_dump(extension_loaded("propro"));
echo var_dump(function_exists("http_get"));
$response = http_get("www.google.com");
echo $response;
Run Code Online (Sandbox Code Playgroud)
我得到了以下结果:
///
boolean true
boolean true
boolean true
**boolean false**
Run Code Online (Sandbox Code Playgroud)
我不确定为什么extension_loaded("http")返回true但是function_exists("http_get")返回false,所以我不能使用函数http_get而不在Apache日志文件中获取以下内容
"[Tue Dec 31 12:32:26 2013] [error] [client 127.0.0.1] PHP致命错误:在第32行的/home/user/main.php中调用未定义的函数http_get()"
你能帮我解决这个问题吗?
(使用控制台交互模式php -a的同样问题)
phpinfo()显示:
///
HTTP
HTTP支持已启用扩展版本2.0.3
used Library Compiled Linked libz 1.2.7 1.2.7 libcurl 7.29.0 7.29.0 libevent disabled disabled
指令本地值主值http.etag.mode crc32b crc32b
///
谢谢
小智 8
正如Michael Berkowski所说,2.x分支是全新的,它可以使用不同的API.
您可以使用1.x分支并以这种方式使用旧函数:
pecl uninstal pecl_http
pecl install pecl_http-1.7.6
Run Code Online (Sandbox Code Playgroud)
然后你可以使用http_get
无论如何,如果这是一个全新的项目,建议使用最新的API.