Como atualizar o PHP no macOS?

Se tu usas Mac para desenvolver teus sítios WordPress, deves ter notado que felizmente o macOS já vem com o PHP instalado. A questão é que nem sempre a versão instalada é a mais nova, principalmente se estás rodando uma versão antiga do macOS, como eu, que uso o El Capitan no meu Mac Pro 2009.

Ter a última versão PHP é um pré-requisito para poderes desenvolver teus projetos e uma versão antiga pode ficar atrapalhando tua vida, principalmente se queres usar ferramentas auxiliares como a extensão PHP Intellisense dentro do VSCode.

O macOS Catalina já vem com a versão 7.3 do PHP, e o Mojave e o High Sierra até vêm com o PHP 7.1 pré-instalado, mas a versão instalada no macOS Sierra é a 5.6 e o El Capitan vem com o PHP 5.5. Péssimo.

Felizmente o pessoal do grupo php-osx mantém pacotes dos últimos “builds” das versões do PHP desde a 5.3 até 7.3, que podem ser instalados desde o Snow Leopard (OS X 10.6) até o High Sierra (macOS 10.13). Como os programas são instalados na pasta /usr/local/php5, eles não afetam em nada tua instalação padrão do macOS.

Instalando o PHP no macOS

Mais fácil que correr cancha com tropeiro de lesma. Escolhe a versão, abre o Terminal e digita a linha correspondente, abaixo:

PHP 7.3

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 7.3

PHP 7.2

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 7.2

PHP 7.1

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

PHP 5.6

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

Infelizmente o pessoal do php-osx não montou um pacote para a versão 7.4 e ainda não descobri uma maneira mais fácil de instalar esta versão sem ter que instalar utilitários extras, como o Homebrew. Quando descobrir, atualizo o artigo.

Verificando se a nova versão do PHP está funcionando

Agora que tudo está instalado, precisamos adicionar a pasta do pacote ao PATH do sistema:

$ export PATH=/usr/local/php5/bin:$PATH  

Depois, é só verificar se a nova versão é a padrão:

Mac-Pro:~ marcoandrei$ php -v

PHP 7.3.8 (cli) (built: Aug 11 2019 20:50:16) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.8, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.8, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.7.2, Copyright (c) 2002-2019, by Derick Rethans

Feito!

“Tá, mas o VS Code continua dando erro…”

Pois é, em alguns casos, quando o VS Code continua dando erro, é porque a extensão PHP Intellisense não identificou corretamente a versão do PHP, mesmo que o sistema aponte a versão nova. A solução é preencher o parâmetro “executablePath” nas configurações da extensão.

Dentro do VS Code, vai em Extensions e encontra a extensão “PHP Intellisense”. Clica na engrenagem e seleciona Extension Settings. Adiciona (ou edita) esta linha no arquivo settings.json:

"php.executablePath": "/usr/local/php5/bin/php"

Agora sim!

Bueno, este tutorial te ajudou? Tens alguma dúvida? Deixa teu comentário aí embaixo e a gente troca uma ideia!

Como ativar o relatório de erros do PHP no MAMP?

Eu sou fã do Mac e uso o MAMP não só para desenvolver sítios WordPress, mas também outros projetos em PHP. Durante este trabalho, é muito útil ver os erros direto na tela, sem ter que lançar mão de outros recursos.

No entanto, por padrão, essa opção é desativada no MAMP. No MAMP versão PRO, é bem fácil trocar, é só ir nas configurações, em Error Handling (Manuseio dos Erros) e na seção “To” marque a opção “Display”.

Ajustes para a visualização de erros no MAMP PRO

Se tu usas a versão básica como eu, é um pouco mais chato, mas não é tão complicado, como vemos abaixo:

1. Abra a pasta do MAMP, que está em /Applications/MAMP/. Dentro dela, teremos a pasta de “configurações” (/conf/) com as diversas versões do PHP que estão instaladas em tua máquina.

2. Escolhe a versão que estás usando. No meu caso, eu estou usando a versão PHP 7.3, então o caminho completo da pasta é esse: /Applications/MAMP/conf/php7.3.8. Abre o documento php.ini que está dentro dela.

3. Procura a linha onde se está o parâmetro display_errors e muda de “Off” para “On”.

4. Se precisares mudar os tipos de erros o que tu queres que sejam exibidos, usa o parâmetro error_reporting para isso. Eu recomendo que tu deixes a opção E_ALL que é justamente todos os erros.

5. Para o servidor Apache e reinicia novamente para que os ajustes feitos tomem efeito.

FEITO! Agora quando executares um script PHP, serão exibidos os níveis de erros: errors, warnings e notices.