A versão do PHP que está sendo utilizada é muito importante. Através dela é possível o desenvolvedor saber se um determinado recurso da linguagem pode ser utilizado, se uma biblioteca ou framework é compatível ou até mesmo se a versão ainda possui suporte ou precisa de atualização.
Na maioria dos casos apenas a versão principal do PHP é necessário, porém, existem casos onde é necessário saber também detalhes da compilação.
Curso PHP - Fundamentos
Conhecer o cursoA função phpinfo()
A função phpinfo
exibe informações sobre a sua versão do PHP. Para executar basta criar um arquivo php e chamá-la:
<?php
phpinfo();
Não é necessário echo
ou print
, pois ela já imprime direto na tela. Ao acessar o arquivo terá a seguinte visão:
Versão
O release é a numeração principal que indica a versão do PHP. Na saída do phpinfo
a primeira informação exibida é justamente o release:
Nesse caso temos a versão 7.2.3
Arquitetura
Quando o PHP é compilado do código fonte uma arquitetura é definida. Se estiver usando um computador 64Bits é possível usar o PHP 32 ou 64Bits. No caso do exemplo acima a arquitetura é 32Bits, isso é representado pelo x86:
Se for 64bits terá a descrição x64.
Thread
O PHP pode ser Thread Safe (TS) ou Non Thread Safe (NTS). Essa informação pode ser encontrada na linha PHP Extension Build
:
O TS indica que o PHP é Thread Safe.
Versão Visual C++
O PHP no Windows oficialmente é compilado com Microsoft Visual C++. No phpinfo()
é possível descobrir a versão usada na compilação que está usando. Isso também na linha PHP Extension Build
No caso do nosso exemplo foi utilizado o Visual C++ 15.
Exemplo prático de uso da versão
Vamos supor que você precisa baixar o Xdebug e configurar no seu PHP. Ao acessar a página é necessário escolher o download correto:
No caso do PHP que estamos usando como exemplo, a opção correta a ser escolhida é a PHP 7.2 VC15 TS (32 bit)
Vale lembrar que, sob hipótese nenhuma suba esse arquivo com o phpinfo()
sendo impresso para o seu ambiente de produção. Há muitas informações sensíveis nele. É algo para se utilizar apenas em ambiente de desenvolvimento.