Instalando a extensão json para o php-5.1 no CentOS/Red Hat

Hoje me deparei com um problema, em um servidor está instalado a extensão json para o php e em outro servidor não está, um dos servidores é Fedora e o outro é CentOS. Após muitas buscas na internet sobre esse assunto, consegui uma solução que me serviu e ficou funcionando. Solução: pecl (PHP Extension Community Library) e pear (PHP Extension and Application Repository).

[ Hits: 17.609 ]

Por: Jose Carlos Rocha em 03/02/2011


Instalando a extensão json para o php-5.1 no CentOS/Red Hat



Hoje me deparei com um problema, em um servidor está instalado a extensão json para o php e em outro servidor não está, Um dos servidores é Fedora e o outro é CentOS.

Solução: pecl (PHP Extension Community Library) e pear (PHP Extension and Application Repository).

Observação: A versão 5.2 do PHP já vem por padrão com a extensão json.

Passo 1: Dependências do sistema

Precisamos verificar se alguns pacotes utilizados para compilar a extensão json para o php estão instalados, um deles é o gcc e o outro o make, como mostro abaixo:

# rpm -qa |grep gcc
gcc-4.1.2-42.el5
libgcc-4.1.2-42.el5
libgcc-4.1.2-42.el5


# rpm -qa |grep --color make
imake-1.0.2-3
make-3.81-3.el5
automake-1.9.6-2.1


Passo 2: Dependências do PHP

Precisamos verificar se alguns pacotes do php estão instalados, um deles é o php-devel, como mostro abaixo:

# rpm -qa |grep php-devel
php-devel-5.1.6-27.el5_5.3


Passo 3: Download da extensão

Agora que já resolvemos os problemas com as dependências, precisamos baixar a extensão para o php, procedendo da seguinte forma:

# pecl download json-1.2.1.tgz

Passo 4: Instalação da extensão

Agora estamos quase lá, precisamos realizar a instalação da extensão baixada, devemos utilizar o comando abaixo com o parâmetro install seguido da extensão.

# pear install json-1.2.1.tgz

Passo 5: Configurando o PHP

Agora que já instalamos a extensão em nosso sistema, precisamos criar a configuração para carregar a a extensão json com o php, devemos criar um arquivo chamado json.ini, caso ele não exista na pasta /etc/php.d/, como é mostrado abaixo:

# vim /etc/php.d/json.ini

Com o arquivo aberto para edição precisamos colocar uma linha neste arquivo, como a mostrada logo abaixo:

extension=json.so

Passo 6: Reiniciar o Apache

Neste momento o apache ainda esta com as configurações antigas do php.ini e não é isso o que queremos, precisamos reiniciar o servidor Apache para que ele carregue as novas configurações.

Veremos três métodos de reiniciar o apache, a primeira pelo comando service, a segunda pelo script /etc/init.d/httpd e o terceiro pelo apachectl.

Método 1:

# service httpd restart

Método 2:

# /etc/init.d/httpd restart

Método 3:

# apachectl -k restart

Passo 7: phpinfo()

Agora que o apache já foi reiniciado, podemos verificar se o php já está com a extensão carregada.

Vamos criar um arquivo com o nome arquivo.php e dentro deste arquivo utilizaremos a função phpinfo do php. Nosso arquivo deve ficar como mostrado abaixo:

<?php
phpinfo();
?>

Passo 8: Verificar se a extensão está carregada

No passo 7 criamos o arquivo para nos ajudar a verificar se a extensão foi carregada e habilitada, agora vamos verificar se essa extensão foi instalada e configurada corretamente.

Temos duas formas para executar este teste, um é pela linha de comando e o outro é pelo browser, vejamos a primeira forma, via linha de comando:

# php /var/www/html/phpinfo.php | grep json
/etc/php.d/json.ini,
json
json support => enabled
json version => 1.2.1


A outra maneira é acessar a máquina pelo browser, informando o endereço do "arquivo.php", http://localhost/arquivo.php, na saída teremos que pesquisar a string json e deveremos ver a saída como apresentada abaixo:
Linux: Instalando a extensão json para o php-5.1 no CentOS/RedHat
Pronto! Temos nosso php com a extensão json instalada, carregada e habilitada para utilização de nossos programas em php.

Fico por aqui e até a próxima.

   

Páginas do artigo
   1. Instalando a extensão json para o php-5.1 no CentOS/Red Hat
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Criando um blog com o CakePHP 2.2.1

Solução open source para clínicas médicas

Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET

A simples classe Date Operations

Uma introdução à biblioteca GD

  
Comentários
[1] Comentário enviado por everton_fuzz em 08/02/2011 - 08:40h

yum install php-json nao resolveria?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts