8

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.

Robby Grodin
  • 145
  • 1
  • 2
  • 9

4 Answers4

11

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.

Leif Arne Storset
  • 899
  • 1
  • 8
  • 19
5

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
Peter Chung
  • 457
  • 6
  • 14
2

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
MauricioOtta
  • 301
  • 3
  • 5
  • actually http.ini should really load at the very end of all other extensions. I renamed it to zzzhttp.ini instead and it solved another issue I had. – Sebas Aug 09 '16 at 21:48
  • oh man!, thanks a lot. This worked. Wasted hours and hours.. sigh – Viraths Jan 04 '17 at 03:51
-1

This solution have worked for me on php7.2-fpm

<?php
$db_host = "localhost";
$db_user = "xxxx";
$db_pass = "xxxx";
$connect = mysqli_connect($db_host,$db_user,$db_pass);
$db_name = "xxxx";

$db_select = mysqli_select_db($connect, $db_name);

// Empty table
$query = "TRUNCATE TABLE xtabletotruncatex";
mysqli_query($connect, $query);
?>
Mauro
  • 1