I\'m trying to install this extension but it fails in the configuration phase. I\'m on ubuntu 12.04 and I have just installed these packages:
On Ubuntu 12.04.5 LTS this worked for me:
First install some prerequisites needed for compilation:
sudo apt-get install php-http
sudo apt-get install php5-dev
sudo apt-get install libcurl3
sudo apt-get install libpcre3-dev
sudo apt-get install libcurl4-openssl-dev
sudo pecl install raphf
sudo pecl install pecl_http-1.7.6
after that go to the folder /usr/lib/php5/modules
and check if the libraries are there: raphf.so
, propro.so
and http.so
.
If your php.ini
(at /etc/php5/apache2/php.ini
and /etc/php5/cli/php.ini
) does not contain these extensions, add them:
extension=http.so
extension=propro.so
extension=raphf.so
or using the absolute path to the files, e.g. extension=/usr/lib/php5/modules/http.so
.
And as last step restart your webserver, thus loading the new configuration:
sudo service apache2 reload
You need to install php-raphf from your package manager.
for me i installed the module using the following. In your case you should be able to switch out yum for apt-get.
sudo yum install php-raphf
sudo yum install php-propro
sudo pecl install pecl_http
The you will need to add extension = http.so to your php.ini file. But it looks like you have already done that.
pecl does not actually install the .so file that you are looking for.
Just to add to @mschuett's answer, I found that when I got the same error as the OP that changing my extension reference in the php.ini did the trick.
extension=raphf.so
to
extension=/usr/lib/php5/20121212/raphf.so
then
sudo pecl install pecl_http
Also setting the following will keep you from having to hand edit your php.ini file when a pecl installation wants to modify it:
pear config-set php_ini /etc/php5/apache2/php.ini
pecl config-set php_ini /etc/php5/apache2/php.ini
NOTE: This worked for Ubuntu 14.04 LTS.
run command
sudo yum install php-raphf
sudo pecl install pecl_http
etc/phph5/apache2/conf.d
add two file
add content
extension=raphf.so
solr.ini
add content
extension=raphf.so
add in php.ini file
extension=http.so extension=propro.so extension=raphf.so or extension=/usr/lib/php5/20121212/raphf.so extension=solr.so
if you have ubuntu 13 or 14, try pecl install pecl_http-1.7.6
as newer versions still do not load for some reason.
I bump into this issue while trying to install pecl_http-2.6.0, raphf-1.1.2 and propro-1.0.2 on Ubuntu 16.04 and php-fpm5.6. I can't use apt
to install raphf and propro (as @mschuett suggested) because apt
can only install raphf 2.0.0 and propro 2.1.0 which works only for PHP 7.
I resolve the problem with the following steps without needing to update the php.ini nor using apt
.
First of all, to get php-fpm to load a new extension, an .ini file must be added to /etc/php/5.6/mods-available
. Then use phpenmod
to enable the extension.
So to install and enable raphf-1.1.2,
$ pecl install raphf-1.1.2
$ echo "extension=raphf.so" >> /etc/php/5.6/mods-available
$ phpenmod raphf
Note that you might need sudo
for these commands.
Similarly, for propro-1.0.2
$ pecl install raphf-1.0.2
$ echo "extension=raphf.so" >> /etc/php/5.6/mods-available
$ phpenmod raphf
If you use php -m
to view all the loaded extensions, you should see raphf and propro in the list.
Now you can install pecl_http-2.6.0 with
$ pecl install pecl_http-2.6.0
The installation should complete successfully.
$ pecl list
Installed packages, channel pecl.php.net:
=========================================
Package Version State
pecl_http 2.6.0 stable
propro 1.0.2 stable
raphf 1.1.2 stable
If you are using pecl
like me, you might see warning such as:
install ok: channel://pecl.php.net/pecl_http-2.6.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=http.so" to php.ini
which happens because the php_ini
config of my pear
and pecl
aren't set.