#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

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

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.