brew1.5.0之后 安装xdebug

brew 1.5.0更新

更新前的安装方法

brew install php72-xdebug

更新后的安装方法

如果不想编译的,直接下载.so文件也可以github

下载tar包官网

当前最新稳定版为 2.6.0,我们下载稳定版的 source,一个 tgz 压缩包

编译

编译完成后,在 modules 目录即可得到 xdebug.so 文件

tar -xzf xdebug-2.6.0.tgz
cd xdebug-2.6.0
phpize
./configure
make -j2

加载xdebug.so

目录也发生了变化,php72 变成了 php@7.2

而通过 brew install php@7.2 安装 PHP 7.2 后,默认会有一个扩展 opcache.so 在 /usr/local/opt/php@7.2/lib/php/20170718 这个目录,你们可能文件名称可能会有所差别

cd /usr/local/opt/php@7.2/lib/php/20170718
cd /usr/local/lib/php
mkdir extensions
# 把编译好的``xdebug.so``移动值``extensions``文件夹
cd extensions

配置参数

cd /usr/local/etc/php/7.2/conf.d

以下内容写入ext-xdebug.ini,没有可以自己新建

[xdebug]
zend_extension="/usr/local/lib/php/extensions/xdebug.so"
;自动跟踪,可关闭(关闭后提升性能)
xdebug.auto_trace=On
;性能分析,可关闭(关闭后提升性能)
xdebug.profiler_enable=On
xdebug.var_display_max_children=512
xdebug.var_display_max_data=2048
xdebug.var_display_max_depth=8

xdebug.remote_autostart=1
xdebug.default_enable=1
xdebug.remote_port=9000
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1
xdebug.remote_enable=1
xdebug.idekey=PHPSTORM

因为我是用的valet,所以,我重启valet

valet restart

检查php-m

$ php -m | grep xdebug
xdebug

安装swoole

这里要注意一下swoole不是zend扩展所以.ini要写成

extension="/usr/local/lib/php/extensions/swoole.so"

pecl安装扩展

pecl其实是很好的安装方式,这里我们就讲一下用pecl安装,这里我们安装grpc

grpc官网

pecl安装

pecl install grpc
Build process completed successfully
Installing '/usr/local/Cellar/php/7.2.4/pecl/20170718/grpc.so'
install ok: channel://pecl.php.net/grpc-1.11.0
Extension grpc enabled in php.ini

这时候他会在对应的php版本目录下面生成一个grpc.so文件,其实我们上面的源码编译,也是去编译这个so文件

去掉php.ini的改动

pecl安装完后,他会修改我们的php.ini文件, 自动给我们引入

cat /usr/local/etc/php/7.2/php.ini

去掉顶头的一行

extension="grpc.so"

文件移动至/usr/local/lib/php/extensions文件夹

设置配置文件

touch ext-grpc.ini
[grpc]
extension="/usr/local/lib/php/extensions/grpc.so"

重启php,并查看是否安装成功

$ php -m | grep grpc
grpc

可以删除pecl也可以不删除

$ pecl list
Installed packages, channel pecl.php.net:
=========================================
Package Version State
grpc    1.11.0  stable

产考文章