0

I have installed pecl_http on a PLESK server (which seems to be successful) but for some reason, the http extension will not load into PHP.

var_dump(extension_loaded("http"));

gives me bool(false).

pecl info pecl_http gives me a lot of info and if I run php -me http is also listed.

php -i | grep "http_request" gives me:

http_request => N/A => 0 => 0
http_request_datashare => GLOBAL => 1 => 0
http_request_pool => N/A  => 0 => 0

and if I run pecl run-tests -p pecl_http I get a lot of FAILs

and I am also getting

Fatal error: Call to undefined function http_get()

http.so is located inside /usr/lib/php/modules/ which is also defined as the extension dir in php.ini - all other extensions loads fine.

What have I missed?

Morten Hagh
  • 2,055
  • 8
  • 34
  • 66

1 Answers1

1

What happens if change

enable_dl = Off 

to

enable_dl = On 

in php.ini and run

php -r "dl('http.so');" 

?

Oleg Neumyvakin
  • 9,706
  • 3
  • 58
  • 62
  • I have this exact problem on CentOS, followed all the instructions above and php -r "dl('http.so');" returns this PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/http.so' - /usr/lib64/php/modules/http.so: undefined symbol: php_json_decode in Unknow n on line 0 Also, php -me does not have http included. – guyfromfl Jan 13 '14 at 14:51
  • Your issue is not related to this question. Is php-json package is installed on server?(rpm -qa | grep -e php.*json) – Oleg Neumyvakin Jan 13 '14 at 15:32