Home » Php » Can't get http to work in php

Can't get http to work in php

Posted by: admin July 12, 2020 Leave a comment

Questions:

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.

How to&Answers:

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.

Answer:

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

Answer:

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