O PHP é a linguagem de programação de milhões de websites na internet, sistemas de gestão de conteúdo como WordPress o utilizam além do próprio Facebook.
Para quem administra um servidor de websites rodando Linux, eu por exemplo utilizo o Ubuntu no meu servidor, é importante saber como atualizar a versão do PHP para a mais recente. No caso eu precisava atualizar a versão 5.5 para 5.6 que nem é a mais recente, porém um software que estava no servidor exigiu a atualização.
Vamos ver como atualiza o PHP do 5.5 para 5.6.
Primeiramente você tem que certificar da sua versão do PHP, basta dar o seguinte comando:
Da linha de comando do terminal, digite:
php -v
PHP 5.6.36-1+ubuntu14.04.1+deb.sury.org+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Podemos ver aqui que a versão é a 5.6.31.
Porém as vezes quando você atualiza o PHP, o servidor de website ainda continua utilizando a versão antiga. por isso é importante chechar através de uma página web que criamos a qual mostra a versão.
Vá na pasta raiz do servidor de páginas web Apache. geralmente é /var/www/seusite/httpdocs
Crie um arquivo checkphp.php (pode ser qualquer nome) com o conteúdo a seguir:
Altere as permissões para que o Apache consiga ler o arquivo com os seguintes comandos:
chown www-data:www-data checkphp.php
chmod 755 checkphp.php
Agora acesse o arquivo através do seu navegador: https://www.seusite.com/checkphp.php
Você verá então toda informação do seu PHP instalado inclusive com os plugins e opções.
Checar a Versão do Apache
Para usar o PHP 5.6 você precisa ter o Apache 2.4 ou superior. Use o comando a seguir para ver sua versão:
apache2 -v
Atualizar versão do PHP 5.5 para 5.6
Vamos fazer passo-a-passo.
Primeiramente vamos atualizar nosso servidor de repositório para ter a versão 5.6:
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
Agora vamos instalar o PHP 5.6
sudo apt-get install php5.6 php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml
Um detalhe é desativar a extensão antiga do apache e reativar a extensão nova do php5.6
sudo a2dismod php5
sudo a2enmod php5.6
Por fim temos que reiniciar o Apache:
sudo service apache2 restart
Possíveis Problemas na Atualização
No meu caso tiver que atualizar o servidor Apache e encontrei um problema com a seguinte mensagem:
Address already in use: AH00072: make_sock: could not bind to address
E o Apache falhava em reiniciar. Fiquei sem servidor web ativo, uma catástrofe.
Para minha sorte a solução foi reiniciar o servidor.
Outra solução que vi foi investigar como o Apache está rodando e matar o processo:
gustavo@usa:~$sudo netstat -tulpn | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6628/apache2
gustavo@usa:~$ ps aux | grep httpd
gustavo+ 14204 0.0 0.0 14816 980 pts/2 S+ 16:13 0:00 grep --color=auto httpd
Você pode ver o número do processo e matar ele com os seguintes comandos (9999 é exemplo e deve ser substituído pelo resultado do primeiro comando):
pidof apache2
sudo kill -9 9999
Resumo
Atualizar o PHP nem é tão complicado quando nada dá errado. O problema é quando algo dá errado e você não sabe o que fazer.
Observe sempre o arquivo error.log do apache dentro do /var/log/apache2/
Lá você terá pistas mais detalhadas do erro.
Stay connected