这是我的服务器配置:
我已经准备好了所有的东西,除非我试图加载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
Run Code Online (Sandbox Code Playgroud)
我试着到处寻找但没有运气.安装似乎很好,但我不知道它有什么问题.
amu*_*ell 18
我带着同样的问题来到这里 - 我无法让2.0.4工作 - 希望能帮助你或其他人在这里绊倒,我邀请你在这里查看我在serverfault上的答案.
为方便起见,我还复制了以下内容:
我没有设置问题 - 至少我不知道.我正在运行nginx + php5-fpm.我的php.ini文件已正确配置,我所有其他扩展都正常工作 - 使用phpinfo()或php --ini进行测试.
我对pecl_http(HttpRequest)的问题是扩展的版本(2.0.4).通过在命令行中运行来检查您的版本
pecl list
Run Code Online (Sandbox Code Playgroud)
我无法让pecl_http-2.0.4工作,但我能够运行
pecl uninstall pecl_http
然后
pecl install 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
Run Code Online (Sandbox Code Playgroud)
这使得pecl知道你在web服务器上使用哪个php.ini文件,并将extension = http.so添加到正确的位置.这对我有所帮助,也许它对你也有帮助!
Jac*_*ler 17
从版本2开始,PECL HTTP需要在http之前加载模块raphf和propro.所以编辑你的php.ini或php.d/pecl_http.ini或者你加载模块,所以它看起来像:
extension=raphf.so
extension=propro.so
extension=http.so
Run Code Online (Sandbox Code Playgroud)
资料来源:http: //www.php.net/manual/en/http.install.php#113769
| 归档时间: |
|
| 查看次数: |
8527 次 |
| 最近记录: |