Eu tentei 100 vezes, sou realmente novo no Ubuntu e terminei com um monte de erros que eu nem entendo, alguém por favor pode me ajudar?
Aqui está o que eu fiz:
- Eu instalei o PHP
- Eu instalei o libcurl e depois o php5-dev
- Eu tentei instalar a extensão PECL e ele diz que
PHPIZE
não foi encontrado.
Respostas:
Primeiro, você vai precisar instalar PEAR via
apt-get
para obter o sistema de pacotes e distribuição necessário que ambosPEAR
ePECL
uso. Em um prompt do shell, digite:Você será solicitado a confirmar a instalação. Basta pressionar "y" e entrar. Se tudo der certo, você deverá fazer o download e instalar o pacote php-pear.
Agora você precisará instalar o pacote php5-dev para obter os arquivos de origem PHP5 necessários para compilar módulos adicionais. Digite o seguinte em um prompt de shell:
Se você não instalar o pacote php5-dev e tentar instalar uma extensão PECL usando “pear install”, você receberá o seguinte erro:
A extensão PECL_HTTP requer a instalação de um pacote de dependência adicional. Você provavelmente pode pular isso para outras extensões:
Agora estamos finalmente prontos para instalar a extensão. Em um prompt do shell, digite o seguinte, mas substitua “pecl_http” pelo nome da extensão PECL que você está instalando:
O instalador pode perguntar sobre algumas opções específicas para a extensão que você está instalando. Você provavelmente pode pressionar Enter uma ou mais vezes para aceitar todos os padrões, a menos que deseje definir opções específicas para sua implementação. Se tudo correr bem, o módulo deve baixar, criar e instalar.
Quando a instalação estiver concluída, provavelmente será solicitado que você adicione uma linha “extension =” ao seu arquivo php.ini. Abra o arquivo php.ini no seu editor de texto favorito e adicione a linha na seção "Extensões dinâmicas". No Ubuntu, o arquivo php.ini parece estar localizado na pasta / etc / php5 / apache2:
Neste exemplo, a instalação da extensão pecl_http me pediu para adicionar "extension = http.so". Agora que o arquivo php.ini foi atualizado, o Apache precisará ser reiniciado para que a nova extensão seja carregada:
fonte
fonte
make
antes de fazer isso. Simplesmente façasudo apt-get install make
php7.0-dev
pacote em vez disso:sudo apt-get install php7.0-dev
Além da resposta da @ Ask, eu também precisava:
antes de executar
pecl install pecl_http
porque estava recebendo este erro sobrepcre.h
:Além disso, em vez de editar o
php.ini
arquivo, criei um novo arquivo chamadopecl-http.ini
noconf.d
subdiretório de ondephp.ini
estava o arquivo (no ubuntu/etc/php5/apache2/conf.d
)E eu precisava adicionar três linhas:
Por fim, como esta versão instalada,
2.0.6
eu não poderia usar ahttp_get_request_headers
função, mas precisava usar a versão no namespace,\http\Env::getRequestHeader()
veja mais detalhes aquips: não esqueça de reiniciar o apache quando terminar (
service apache2 restart
)fonte
extension=json.so
antes dahttp.so
linha, apesar de já ter ojson.ini
arquivo incluídoconf.d
.Além das respostas do Maythux e do cwd, você pode não querer editar o seu arquivo php.ini porque essas alterações podem se perder nas atualizações.
O Debian (e, portanto, o Ubuntu) lida com módulos php da mesma maneira que os módulos apache. Dê uma olhada
/etc/php5
, você encontrará diretórios como este:Quando você olha para dentro,
mods-available
vê vários arquivos como:Para ativar / desativar esses mods disponíveis para todas as APIs (apache, cli, cgi), você pode simplesmente usar os comandos
php5enmod
ou algophp5dismod
assim:respectivamente
Eles criarão (ou removerão) links simbólicos para o arquivo de configuração do módulo em
apache2/conf.d/
ecli/conf.d/
.Você também pode especificar o sapi para ativar / desativar o mod for (apache neste caso):
pecl install
pode não criar um arquivo de configuração pararaphf
(e outros módulos instalados com ele), mas você pode criá-lo por conta própria:Em seguida, escreva nas seguintes linhas:
A prioridade padrão é 20. Pode depender do tipo de módulo que prioridade você deve usar. Para
raphf
20 parece bem. ( Atualização : se você estiver procurando por pecl_http, a partir da versão 2, ela deverá ser carregada depoisrapfh
epropro
, portanto, defina a prioridade namods-available/http.ini
para30
.)Com isso, você pode ativar o módulo:
(Nota: minha resposta depende do Ubuntu 14.04, mas pode funcionar da mesma maneira para o 13.04, consulte http://www.lornajane.net/posts/2012/managing-php-5-4-extensions-on-ubuntu )
fonte
Agora, dias, instale o PEAR dessa maneira, para obtê-lo da fonte:
fonte