在两个php.ini文件(Apache的和普通sudo updatedb && locate php.ini : sudo updatedb && locate php.ini )中添加了以下Dynamic Extensions :
extension=raphf.so extension=propro.so extension=http.so
冉以下安装,这一切工作:
sudo apt-get install libpcre3-dev php5-dev php-pear sudo pecl channel-update pecl.php.net sudo pecl install pecl_http
然而,testing仍然失败
php -r 'http_post_data();' PHP Fatal error: Call to undefined function http_post_data() in Command line code on line 1 PHP Stack trace: PHP 1. {main}() Command line code:0
我错过了什么?
自己跑过同一个问题。 http_post_data()由PECL扩展的v1提供,而不是v2,这是默认安装。
通过pecl install -f pecl_http-1.7.6重新安装
之后:
php -r 'http_post_data();' PHP Warning: http_post_data() expects at least 2 parameters, 0 given in Command line code on line 1
Ubuntu PHP通常带有一些帮助函数php5enmod和php5dismod 。 这些映射到通过/etc/php5/mods-available的名称启用模块,并将它们适当地链接到/etc/php5/[SAPI]/conf.d ,其中sapi通常是“cli”,“fpm”或“的Apache2”。
我会检查确保你引用的ini文件,大概是在/etc/php5/mods-available已经被链接到/etc/php5/cli/conf.d和/或/etc/php5/apache2/conf.d 。 你可以使用sudo php5enmod -s ALL mod_name_here来为你所有的SAPI(cli,apache等)创build符号链接。 “mod_name_here”通常是创build的INI文件的名称减.ini扩展部分。
我对你的系统做了一些假设,例如我不知道你是否从apt-get / aptitude安装了PHP,或者你是否从源代码编译过,所以你的里程可能会有所不同。