Amazon Linux pecl_http instalado, mas não fornecendo funções

5

Eu instalei a extensão pecl_http do PHP usando o pacote php54-pecl-http Yum do Amazon Linux.

  • php -i mostra o arquivo http.ini carregado
  • http.ini tem a linha extension=http.so
  • php -m mostra o módulo HTTP como instalado
  • pecl list mostra pecl_http 2.0.0beta1 como instalado.

No entanto, quando tento usar qualquer uma de suas funções - new HttpRequest() , http_build_url() , etc. - elas retornam como inexistentes. Estou executando tudo na CLI (isso é um servidor de utilitários), então não há chances de diferentes arquivos php.ini entre os ambientes.

Estados do bloco http de

php -i :

http

HTTP Support => enabled
Extension Version => 2.0.0beta1

Used Library => Compiled => Linked
libz => 1.2.5 => 1.2.5
libcurl => 7.24.0 => 7.24.0
libevent => 1.4 or greater => 2.0.18-stable
libserf => disabled => disabled

                            Persistent Handles                            
Provider => Ident => Used => Free
http_client.curl => N/A => 0 => 0
http_client_pool.curl => N/A => 0 => 0
http_client_datashare.curl => N/A => 0 => 0

Directive => Local Value => Master Value
http.etag.mode => crc32b => crc32b
http.persistent_handle.limit => -1 => -1

Alguém já experimentou isso? Alguma idéia?

    
por ceejayoz 24.07.2013 / 20:03

2 respostas

3

Talvez um pouco atrasado, mas talvez isso ajude alguém a chegar aqui ...

Certifique-se de referenciar a versão correta da API pecl_http. Eles foram movidos para namespaces em v2, então a convenção de chamada é bem diferente. Grande parte da documentação em torno da web faz referência a métodos na v1.

link

    
por 24.04.2014 / 00:08
1

Por favor, tente

strace -fF -o /tmp/wtf php your_php_script.php

E depois vasculhe o arquivo /tmp/wtf com uma variante do editor de texto / viewer / grep de sua escolha para ver 1) o php.ini apropriado foi lido e 2) se a extensão http.so foi realmente carregada.

    
por 31.07.2013 / 07:36