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.