#7.2 #brew #macos #pear #pecl #php #php 7.2 #php-xdebug #xdebug
Como instalar o PHP 7.2 com xdebug no MacOS
por Pedro Resende em 30/06/2018 às 18:04:36

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ão 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.

Pedro Resende
With over two decades of experience as a Full Stack Developer, I have journeyed through diverse facets of software development. Commencing with the creation of compact institutional websites, I progressed to crafting portals for insurance brokers and contributed to substantial projects for renowned companies such as MS Amlin. My expertise expanded further by delving into product development for Advertiser Kwanko and collaborating with startups in their pivotal ramp-up stages. Notably, I've been involved in architecting extensive e-commerce solutions for global enterprises like Wayfair.
I currently serve as the Tech Lead at Emergn, contributing to the establishment and advancement of the Strategyzer client.