extensão pecl_http não carregando

1

Por alguma razão, a extensão pecl_http não está aparecendo no meu arquivo test.php com contains:

<?php phpinfo(); ?>

Acabei de instalar o pecl_http usando:

pecl install pecl_http

A instalação foi bem-sucedida e eu verifiquei executando:

pecl list

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

Eu então localizei meu arquivo php.ini usando:

php -i | grep 'Configuration File'

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

Eu editei no vim e adicionei:

extension=http.so

Finalmente eu reiniciei o Nginx e o PHP-FastCGI:

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

Meu PHP extension_dir é:

/usr/lib/php5/20090626

Verifiquei que "http.so" está localizado nesse diretório.

Alguma idéia de por que não está carregando?

Minha máquina está executando um perfil Ubuntu 10.04 LTS de 64 bits no Linode. As únicas outras extensões que eu instalei são o New Relic e o Mongo.

Obrigado!

    
por Tegan Snyder 28.06.2012 / 22:28

3 respostas

4

Veja os caminhos do seu arquivo phpini:

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

CLI é a interface da linha de comando. Verifique o phpinfo () no seu servidor web e edite o arquivo php.ini correto.

    
por 29.06.2012 / 00:29
6

Para qualquer outra pessoa que tenha chegado aqui procurando uma resposta, mas a que aceitou não se encaixou no seu caso - posso ter sua solução!

Eu não tive um problema de configuração - pelo menos não para o meu conhecimento. Estou executando nginx + php5-fpm. Meu arquivo php.ini foi configurado corretamente e todas as minhas outras extensões estavam funcionando corretamente - teste-o com phpinfo () ou php - inini.

Meu problema com o pecl_http (HttpRequest) era a versão da extensão (2.0.4). Verifique sua versão executando na linha de comando

pecl list

Não consegui que o pecl_http-2.0.4 funcionasse, mas consegui executar

pecl uninstall pecl_http

então

pecl install pecl_http-1.7.6 . Certifique-se de ter o libcurl instalado também ou você pode experimentar falhas de instalação.

Depois de reiniciar o php5-fpm e meu servidor web (nginx), tudo estava funcionando corretamente!

AJUDA EXTRA:

Antes de instalar - e o pear está instalado - você pode querer executar estes dois comandos assumindo que você está usando o php.ini no fpm - ou você pode escrever o caminho de acordo com a sua configuração: pêra config-set php_ini /etc/php5/fpm/php.ini pecl config-set php_ini /etc/php5/fpm/php.ini

Isso faz com que o pecl saiba qual arquivo php.ini você está usando com o seu servidor web e adicionará a extensão = http.so no local correto. Isso me ajudou, então talvez ajude você também!

    
por 29.01.2014 / 22:18
0

Quando eu instalei um pacote do AUR:

pecl_http

e descomentei a extensão do PHP pecl_http:

extension=http.so

no arquivo:

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

Deste comando:

php test.php

Eu tenho:

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

Removendo comentário:

extension=iconv.so

no arquivo:

/etc/php/php.ini

resolveu o problema.

Distribuição Linux: Manjaro (baseado em Arch Linux).

    
por 06.03.2014 / 21:11