Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

For some reason pecl_http extension is not showing up in my test.php file with contains:

<?php phpinfo(); ?>

I just installed pecl_http using:

pecl install pecl_http

The install was successful and I verified it by running:

pecl list

Installed packages, channel pecl.php.net:
=========================================
Package   Version State
mongo     1.2.10  stable
pecl_http 1.7.4   stable

I then located my php.ini file using:

php -i | grep 'Configuration File'

Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini

I edited it in vim and added:

extension=http.so

Finally I restarted Nginx and PHP-FastCGI:

/etc/init.d/nginx restart
/etc/init.d/php-fastcgi stop
/etc/init.d/php-fastcgi start

My PHP extension_dir is :

/usr/lib/php5/20090626

I verified that "http.so" is located in that directory.

Any ideas why it's not loading?

My machine is running a Ubuntu 10.04 LTS 64bit Profile on Linode. The only other extensions I have installed are New Relic and Mongo.

Thanks!

share|improve this question
    
Just to be sure try loading extansion using full path: extension=/usr/lib/php5/20090626/http.so –  c2h5oh Jun 28 '12 at 20:32
    
@c2h5oh nope same results –  Tegan Snyder Jun 28 '12 at 20:35
    
What happens when you run echo http_get("http://www.google.com"); in a PHP script? When you filter your phpinfo command with http, do you see things like http_request listed? –  qweet Jun 28 '12 at 20:49
    
@qweet I get this error Fatal error: Call to undefined function http_get() –  Tegan Snyder Jun 28 '12 at 21:03
    
@qweet php -i | grep 'http_request' returns the following: http_request => N/A => 0 => 0 http_request_datashare => GLOBAL => 1 => 0 http_request_pool => N/A => 0 => 0 –  Tegan Snyder Jun 28 '12 at 21:04

3 Answers 3

up vote 4 down vote accepted

Look at your phpini file paths:

Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini

CLI is the Command Line interface. Check phpinfo() from your webserver and edit the correct php.ini.

share|improve this answer
1  
Thanks that did it. My path showed: /etc/php5/cgi/php.ini –  Tegan Snyder Jun 29 '12 at 0:08

When I installed one package from AUR:

pecl_http

and I uncomment pecl_http PHP extension:

extension=http.so

in the file:

/etc/php/conf.d/http.ini

From this command:

php test.php

I got:

PHP Warning: Cannot load module 'http' because required module 'iconv' is not loaded in Unknown on line 0

Removing comment:

extension=iconv.so

in the file:

/etc/php/php.ini

solved the problem.

Linux distribution: Manjaro ( Arch Linux based ).

share|improve this answer

For anyone else who may have arrived here looking for an answer but the accepted one didn't fit your case - I may have your solution!

I didn't have a setup problem - at least not to my knowledge. I am running nginx + php5-fpm. My php.ini file was correctly configured and all my other extensions were working properly - test it with phpinfo() or php --ini.

My problem with pecl_http (HttpRequest) was the extension's version (2.0.4). Check your version by running in the command line

pecl list

I was unable to get pecl_http-2.0.4 to work, but I was able to run

pecl uninstall pecl_http

then

pecl install pecl_http-1.7.6. Make sure you have libcurl installed as well or you might experience install failures.

After restarting php5-fpm and my webserver (nginx) everything was working prefectly!


EXTRA HELP:

Before you install - and pear is installed - you may want to run these two commands assuming you are using the php.ini in fpm - or you can write the path according to your configuration: pear config-set php_ini /etc/php5/fpm/php.ini pecl config-set php_ini /etc/php5/fpm/php.ini

This makes it so that pecl knows which php.ini file you are using with your web-server and will add the extension=http.so in the correct spot. This helped me so maybe it'll help you too!

share|improve this answer
    
Good tip, but if still having trouble the following did it for me askubuntu.com/questions/360646/… –  gts Aug 22 at 13:14

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.