php cannot load pecl http extension

2019-08-30 09:42发布

问题:

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?

回答1:

What happens if change

enable_dl = Off 

to

enable_dl = On 

in php.ini and run

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

?