Pretty Code Blog

Just another weblog about development

20  05 2009

Instalando (upgrade) php 5.2.9 em CentOS

Precisei instalar uma nova versão do php em um CentOS com Apache2 e tive muitos problemas.

Vou contar a saga aqui, para o caso de ajudar alguém…

A primeira coisa a fazer antes do upgrade é gerar um php info para pegar a configuração atual.

<?php
phpinfo();
?>

Estou logada como root (yes! I got the power!)

Instalando libxml2

wget ftp://xmlsoft.org/libxml2/libxml2-2.6.11.tar.gz
tar xzvf libxml2-2.6.11.tar.gz
cd libxml2-2.6.11
./configure
make
make install


Sempre é bom dar update na biblioteca antes de usar:

yum update libxml2

Instalando o PHP php-5.2.9

wget http://uk2.php.net/get/php-5.2.5.tar.gz/from/uk.php.net/mirror
tar zxvf php-5.2.9.tar.gz cd php-5.2.5
./configure –enable-soap
make
make install

Bom, se você foi um bom menino, fez a lição de casa e comeu todos os vegetais, tudo deu certo e a sua instalação está pronta. Vá brincar com seus amiguinhos que o dia está bonito lá fora.

Se não… Menina má! Menina muito má!!! Comeu chocolates antes do almoço!!!

Problemas que eu tive:

  • configure: error: Could not find pcre.h
  • ./configure: line 6699: /usr/sbin/apxs: No such file or directory

Bom, aí é começar a rodar

yum install pcre

while (tenhoErrosNotFound){
runYumInstall(this.get(meuErroNotFound));
}

Ok, vamos tentar de novo. PAra isso precisamos limpar a primeira instalação

make clean
./configure --build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu --target=i386-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --cache-file=../config.cache --with-libdir=lib --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --disable-debug --with-pic --disable-rpath --with-bz2 --with-curl  --with-freetype-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --without-gdbm --with-gettext --with-gmp --with-iconv --with-jpeg-dir=/usr --with-openssl --with-png --with-pspell --with-expat-dir=/usr --with-pcre-regex=/usr --with-zlib --with-layout=GNU --enable-exif --enable-ftp --enable-magic-quotes --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-track-vars --enable-trans-sid --enable-yp --enable-wddx --with-kerberos --enable-ucd-snmp-hack --with-unixODBC=shared,/usr --enable-memory-limit --enable-shmop --enable-calendar --enable-dbx --enable-dio --with-mime-magic=/usr/share/file/magic.mime --without-sqlite --with-libxml-dir=/usr --with-xml --with-system-tzdata --with-apxs2=/usr/sbin/apxs --without-gd --without-unixODBC --disable-pdo -enable-soap --with-mysql --with-mysql-sock
make
make install

Agora foi!!!! Mas…

Restartando o apache

service httpd restart

e tentando rodar uma aplicação que usa mysql recebemos a LINDA mensagem de que nenhum mysql foi encontrado!

Precisamos habilitar o Mysql. Mas antes vamos gerar um phpinfo para ver o que foi carregado…

Tadá!!! O MySQL está lá!!! Isso só pode ser php.ini duplicado. Então, vou remover o php velho antes, assim garanto que nenhum biblioteca antiga me atrapalhe. KILL ALL -9 PHP 5.1.6!!! [})] HUAHUAHUA!!!!

Ok… Vou ser mais educada… :nerd

yum  remove php

Agora, restarto o apache e repito os passos acima: configure, make, make install
Restarto o apache.

VOILÁ! Minha aplicação de teste está funcionando! Phpinfo OK!!!

Welcome to the age of 5.2.9!!!


4 Responses to “Instalando (upgrade) php 5.2.9 em CentOS”

  1. O seguinte código não funcionou:
    while (tenhoErrosNotFound){
    runYumInstall(this.get(meuErroNotFound));
    }

    [Responder]

    admin Resposta:

    Sorry…
    O meu humor estava meio ácido quando escrevi o post :)

    O que eu quis dizer com isso foi:
    Enquanto estiver obtendo erros do tipo “Could not find pcre.h”, rode o yum para instalar a biblioteca que o PHP precisa :)

    Eu precisei de várias :)

    Espero que tenha dado certo.

    [Responder]

  2. Vou tentar, estou tentando instalar uma nova versao faz algum tempo e nada.,

    [Responder]

    admin Resposta:

    Conseguiu ao menos que o seu CENTOS reclame das bibliotecas faltantes?
    Já tive problemas uma vez porque o CENTOS não “reclamava” das bibliotecas que precisava e eu precisei “adivinhar” todas elas.. ¬¬

    Espero que tenha dado certo.

    [Responder]

Leave a Reply

CAPTCHA Image

« »