0

Instalando PHP5 em Linux

criado por Sergio A. Pohlmann .'. em 21/10/2003 1:28pm
Instalando PHP5 (Linux)

Por Sergio A. Pohlmann - spohlmann@softhome.net


Em outro artigo, comentava sobre a versão de desenvolvimento do PHP5. A própria Zend aconselha que não se utilize esta versão em ambientes de produção, já que ainda está em testes, e obviamente, tem muito que ser corrigida até ser totalmente estável.

Assim que, esta compilação não é aconselhável para os que sofrem de eventuais distúrbios cardíacos ;)

Mas, para os curiosos de plantão (como eu, que não resistí a tentação de compilá-lo e colocá-lo em meu server, arriscando ter que voltar ao meu velho 4.1), aí vai a dica de como compilar, para Linux:


Observação:
Meu Linux é um Conectiva Linux 7.0. Experimentei compilar tanto sob kernel 2.2, quanto 2.4, e funcionou perfeitamente, nos dois ( respectivamente, 2.2.19-15cl, e 2.4.5-9cl). Evidentemente, podem haver diferenças inirentes a cada distribuição, ou a configurações específicas de cada caso.
Também estou presumindo que você já tem um php instalado, o que significa que seu Apache já foi corretamente configurado. Se não é o seu caso, dê uma buscada na phpbrasil, para ver como preparar tudo, em outros artigos.



Primeiro, obviamente, tens que fazer o download do arquivo. Busque a versão mais nova no espelho de CVS da Zend:

http://snaps.php.net/

O arquivo vai vir com um nome estranho, que depende do dia e hora da atualização. No meu caso foi
"php5-200303021830.tar.gz" (o número significa que foi posto no CVS às 18:30 do dia 02 de março deste ano).

*Claro que todas as operações tem que ser feitas como root :)

Agora, colocamos o arquivo no diretório /usr/src (os fontes, mas os mais desavisados). E descomprimimos com o velho:

# tar -xvzf php5-200303021830.tar.gz

Fabricamos um link simbólico, independente de versão:

# ln -s php5-200303021830 php5

Pronto. Agora temos um diretório php5, que aponta para a versão que baixamos. Vamos ao difícil:

# cd php5

Preparando a compilação.
Dependendo de sua máquina, pode demorar. Em meu super-servidor (Pentium 75), o processo todo ( configure e make) tardou mais de uma hora :(

# ./configure --with-mysql --with-apxs

Aqui estamos preparando para a compilação, propriamente dita. As opções que estou usando não tem nada de especiais, e, obviamente, quem usa mais opções de configuração terá que inseri-las aí, na linha correspondente.

-----------------------------------------------------
Observação:

Também, se usas muitas opções, poderia gerar um arquivo qualquer (digamos que se chame "compilar"), e colocar, aí:

./configure \
--with-mysql \
--with-apxs \
... \
... \

Obviamente, no lugar dos pontinhos, vão as opcões desejadas. Por fim. executar o arquivo com:

# sh compilar

-------------------------------------------------

Agora, a compilar.

# make

# make install

Bom, a compilação já está feita!!! Agora, é a vez de terminar de configurar o Apache.

Copie o php.ini-dist para o local correto, com o nome de php.ini. No meu caso, está em /etc/php4/cgi e /etc/php4/apache.

* Claro que você vai fazer cópia dos originais, antes, né?

# cp php.ini-dist /etc/php4/cgi/php.ini
# cp php.ini-dist /etc/php4/apache/php.ini

Agora, mate e levante de novo o demônio httpd. Não o reinicie, porque pode não funcionar. Mate-o, e faça com que levante de novo:

# /etc/rc.d/init.d/httpd stop

# /etc/rc.d/init.d/httpd start

Uma das coisas que lhe pode passar, é que, no arquivo /etc/httpd/conf/httpd.conf, a linha de LoadModule esteja com um erro de path. Normalmente o httpd vai avisar do erro, na hora de levantá-lo. Se for o seu caso, altere a linha para o path correto. No meu caso estava:
LoadModule php4_module lib/apache/libphp4.so

e tive que trocar para:

LoadModule php4_module /usr/lib/apache/libphp4.so

E, como sabemos? Verifique onde está o libphp4.so, aí citado. Eu uso "locate" ou "find".

Por fim, se o seu httpd já levanta, sem problemas, então já pode provar o seu novo PHP5. Um scriptzinho, como o de abaixo, serve (eu o chamo de test.php, no diretório principal de meu apache: /home/httpd/html):

<?php
    phpinfo();
?>

Agora, abra o test.php com um navegador, e, se tudo está bem, você deverá ver, feliz, a abertura do phpinfo(), com:



PHP Version 5.0.0-dev

e as demais informações do ambiente. Observe, ao final do primeiro quadro:

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.0.0-dev, Copyright (c) 1998-2003 Zend Technologies


Iuhuuuuuuuuu! Funcionou!!!! Agora, pare de babar no teclado, respire fundo, e vá provar seu novíssimo PHP5!!

Abraços a todos.

Comentários:

Mostrando 1 - 8 de 8 comentários
to com um probleminha aqui pra instalar o php5: não está sendo criado o arquivo libphp5.so, que acredito ser criando durante a compilação... o que pode estar acontecendo? com o php4 já fiz esse processo de compilação e instalação várias vezes, mas nunca tive problemas...

no aguardo...
11/04/2005 4:02pm (~19 anos atrás)

Sim, realmente é importante observar isto.
Comigo passou de baixar uma versao, e nao houve forma de funcionar. Voltei ao 'snaps' e agarrei a versão mais nova, e aí funcionou tudo ok.
Abraços

Sergio .'.


07/11/2003 8:28am (~21 anos atrás)

Pra quem esta tendo dificuldade
é interessante testar as atualizações
encontradas em

http://snaps.php.net

que são quase que diárias e pode ser que o seu bug já tenha sido reportado e arrumado.

Caso persista envie um email através de

http://bugs.php.net
07/11/2003 7:13am (~21 anos atrás)

Tentei instalar ele no Ruindows 98, mais tive problemas em carrega extensões, quando abilito para carregar alguma extensão ou atraves do dl, ele trava e não continua carregando.

Alguem mais teve esse problema e sabe como resolver?

Da pra testar o sistema de OO mais usar Mysql e outras coisas que dependem de extensão, nada feito!
23/10/2003 11:15am (~21 anos atrás)

Existe a possibilidade de ele ser instalado em um Ruindows 98 com o xitami?
23/10/2003 8:00am (~21 anos atrás)

no meu caso nao teve libphp4.so, mas sim libphp5.so, que na propria instalacao do php ele jah adicionou a linha "loadmodule" para ele, porem tive que comentar a linha do "loadmodule" do libphp4, pois sempre ficava com o php-4.3.4rc1
22/10/2003 10:00pm (~21 anos atrás)

pessoal só pra quem não sabe
antes de compilar digite:

./configure --help
para ver as opcoes
e no PHP5 tem a opção de uma nova library do MySQL que se não me engano é a --with-mysqli
22/10/2003 5:37am (~21 anos atrás)

Diogo Gomes disse:
Bem legal seu artigo, principalmente para que não mexe muito no Linux, e bom explicar os detalhes.
No Windows, eu apenas substituiria o php.exe?
21/10/2003 5:14pm (~21 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)