Can't get http to work in php

2019-06-17 10:32发布

I keep getting this error:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/http.so' - /usr/lib64/php/modules/http.so: undefined symbol: php_persistent_handle_abandon in Unknown on line 0

PHP Fatal error: Class 'HttpResponse' not found in /var/www/api/init.php on line 4

I've reinstalled http through pecl a few times, even tried installing it from the tar.gz. I'm running an EC2 instance.

I HAVE put extension=http.so in my php.ini.

3条回答
乱世女痞
2楼-- · 2019-06-17 10:59

You probably got version 2 of pecl_http, and it has some new requirements. See the installation instructions. For me these lines worked:

extension=raphf.so
extension=propro.so
extension=http.so

Edit: Order matters, so first try the same order as I used.

I also made sure http.so is loaded after json.so and the other prerequisites.

查看更多
太酷不给撩
3楼-- · 2019-06-17 11:05

I installed pecl_http successfully with following steps on Debian

  1. execute sudo pecl install raphf propro pecl_http
  2. create /etc/php5/mods-available/zhttp.ini extension=raphf.so extension=propro.so extension=http.so
  3. execute sudo php5enmod zhttp
  4. restart your web server
查看更多
戒情不戒烟
4楼-- · 2019-06-17 11:08

As mine was using /etc/php/conf.d/ for the additional .ini files I just prefixed them with numbers

mv raphf.ini 1raphf.ini
mv propro.ini 2propro.ini
mv http.ini 3http.ini


# php --ini
Configuration File (php.ini) Path: /etc/php
Loaded Configuration File:         /etc/php/php.ini
Scan for additional .ini files in: /etc/php/conf.d
Additional .ini files parsed:      /etc/php/conf.d/1raphf.ini,
/etc/php/conf.d/2propro.ini,
/etc/php/conf.d/3http.ini,
/etc/php/conf.d/imagick.ini
查看更多
登录 后发表回答