这是我的服务器配置:
> CentOS release 6.5(Final)
> PHP 5.5.7
> pecl_http 2.0.4 stable
>服务器版本:Apache / 2.2.15(Unix)
我有一切都运行,除非我试图加载pecl_http模块,它给我以下警告,它不会加载:
PHP Warning: PHP Startup: Unable to load dynamic library '/path/to/PHP/modules/http.so' - /path/to/PHP/modules/http.so: undefined symbol: PHP_persistent_handle_abandon in Unknown on line 0
我试图看到无处不在,但没有运气.安装看起来很好,但我不知道它有什么问题.
我遇到同样的问题来到这里 – 我无法获得2.0.4的工作 – 为了帮助您或其他在这里绊倒的人,我邀请您在
serverfault here查看我的答案.
为方便起见,我也在下面复制了:
我没有设置问题 – 至少不了解我的意见.我正在运行Nginx PHP5-fpm.我的PHP.ini文件已正确配置,所有其他扩展程序正常工作 – 使用PHPinfo()或PHP –ini进行测试.
我的pecl_http(HttpRequest)的问题是扩展的版本(2.0.4).通过在命令行中运行检查您的版本
pecl list
我无法获得pecl_http-2.0.4的工作,但是我能够运行
pecl卸载pecl_http
然后
pecl安装pecl_http-1.7.6.确保您还安装了libcurl,否则可能会遇到安装失败.
重新启动PHP5-fpm和我的网络服务器(Nginx)后,一切正常工作!
额外帮助:
在安装之前,并且安装了pear – 您可能需要运行这两个命令,假设您使用fpm中的PHP.ini,或者您可以根据您的配置编写路径:
pear config-set PHP_ini /etc/PHP5/fpm/PHP.ini pecl config-set PHP_ini /etc/PHP5/fpm/PHP.ini
这使得pecl知道您正在使用哪个PHP.ini文件与您的Web服务器,并将extension = http.so添加到正确的位置.这有助于我,也许这也会帮助你!