Como instalar o PHP 7.2 com xdebug no MacOS

Hoje deixo-vos aqui as instruções, de como instalarem a versão de PHP 7.2 com o xdebug.

Como sabem o MacOs é um sistemas operativos mais estáveis, contudo sofre de alguns males, nomeadamente actualizações específicas de certas aplicações, como por exemplo o PHP.

Para isso, existe um gestor de pacotes, mantido pela comunidade, que poderá ser instalado, chamado de brew.

Vamos então começar por instalar o brew, para isso será necessário correr o seguinte comando:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Quando terminar, é necessário adicionar os pacotes relativos ao PHP:

$ brew tap homebrew/php

e por fim, para instalar a versão 7.2 do PHP e do xdebug, terá de correr as seguintes linhas:

$ brew install php72 php72-xdebug

e vão receber a seguinte mensagem

Error: No available formula with the name "php72-xdebug"
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
==> Searching local taps...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.

Neste momento devem-se estar a questionar o que se passou, mas a realidade é que desde a versão 7.1 do PHP o xdebug custa um bocadinho mais a instalar. Para isso necessitamos agora de instalar o PECL (PHP Extension Community Library).

$ curl -O http://pear.php.net/go-pear.phar
$ sudo php -d detect_unicode=0 go-pear.phar

Na configuração comecem por escolher 1 e carreguem na tecla Enter. Insiram

/usr/local/pear

Carreguem uma vez mais em enter e quando voltar a perguntar, escolha 4 e Enter. Por fim, insiram

/usr/local/bin

e enter.

Neste momento já temos o PHP 7.2 e o PECL instalados, só nos falta o Xdebug. Para isso, vamos executar os seguintes comandos:

$ sudo pecl update-channels 
$ sudo pecl list-all
$ sudo pecl install xdebug

Quando a instalação terminar, deverá aparecer o seguinte

Build process completed successfully

Installing '/usr/local/Cellar/php/7.2.7/pecl/20170718/xdebug.so'

install ok: channel://pecl.php.net/xdebug-2.6.0

Extension xdebug enabled in php.ini

por fim, para validarem que têm a versão correcta, corram

$ php -v

Caso vos apareça o seguinte erro

PHP Warning:  Failed loading Zend extension 'xdebug.so' (tried: /usr/local/Cellar/php/7.2.7/lib/php/20170718/xdebug.so (dlopen(/usr/local/Cellar/php/7.2.7/lib/php/20170718/xdebug.so, 9): image not found), /usr/local/Cellar/php/7.2.7/lib/php/20170718/xdebug.so.so (dlopen(/usr/local/Cellar/php/7.2.7/lib/php/20170718/xdebug.so.so, 9): image not found)) in Unknown on line 0

Warning: Failed loading Zend extension 'xdebug.so' (tried: /usr/local/Cellar/php/7.2.7/lib/php/20170718/xdebug.so (dlopen(/usr/local/Cellar/php/7.2.7/lib/php/20170718/xdebug.so, 9): image not found), /usr/local/Cellar/php/7.2.7/lib/php/20170718/xdebug.so.so (dlopen(/usr/local/Cellar/php/7.2.7/lib/php/20170718/xdebug.so.so, 9): image not found)) in Unknown on line 0

Failed loading /usr/local/php/modules/xdebug.so:  dlopen(/usr/local/php/modules/xdebug.so, 9): image not found

PHP 7.2.7 (cli) (built: Jun 22 2018 06:27:50) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

    with Zend OPcache v7.2.7, Copyright (c) 1999-2018, by Zend Technologies

Terão de editar o ficheiro /usr/local/etc/php/7.2/php.ini e onde está 

zend_extension="..."

substituam por

zend_extension="/usr/local/Cellar/php/7.2.7/pecl/20170718/xdebug.so"

corram agora

php -v

Neste momento deverão ter a seguinte mensagem

PHP 7.2.7 (cli) (built: Jun 22 2018 06:27:50) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

    with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans

    with Zend OPcache v7.2.7, Copyright (c) 1999-2018, by Zend Technologies

Se por algum motivo, tiverem dúvidas ou acontecer algum erro num dos comandos acima, não hesitem a deixar um comentário.

Apple finalmente reconhece problema de teclados nos MacBooks (Pro)

Após queixas de vários utilizadores sobre problemas nos teclados dos MacBooks e MacBooks Pro, nomeadamente:

  • as teclas ficarem presas,
  • carregarem nas teclas e não acontecer nada e
  • inexplicavelmente as teclas reproduzirem mais do que uma vez o caracter seleccionado.

Finalmente considerou este problemas como sendo devido ao processo de fabrico e como tal, os computadores que tenham os sintomas descritos acima estão ao abrigo do serviço de reparação “Keyboard Service Program for MacBook and MacBook Pro“.

Caso tenho uma MaBook que tenha sido adquirido em 2016 ou 2017, entrem em contacto com os serviços de reparação para sejam arranjados.

Este tipo de situação já não é recente, contudo finalmente a Apple decidiu dar o braço a torcer e aceitar de que se trata de um problema.

The King is Dead, Long live the King… 2

Este ano faz 10 anos que este blog foi criado e podem não acreditar, mas à quase 6 fiz uma migração de WordPress para eZ Publish. Como se sabe nada é definitivo, então em informática muito menos.

Visto isto, vou tentar re-activar o blog que nos últimos anos esteve um pouco abandonado. Como tal a primeira coisa que fiz, foi voltar a migrar para o WordPress. Podem perguntar o que se passou, mas a realidade é que o WordPress é um dos melhores, se não mesmo o melhor sistema de gestão de blogs e como isto é um blog…