MAC OS 10.15 phpstorm 配置 xdebug
macOs 10.15的php版本是PHP 7.3.11,对应的目录为/usr/bin/php,本次使用的是系统默认的php
安装Command Line,
$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
如返回如上则表示已安装,否则根据提示完成安装操作,如遇安装失败,则可以直接官网手动下载安装包安装
下载完后安装即可
解决macOs 10.15的 phpize 异常问题
在某个扩展目录下执行 /usr/bin/phpize 错误如下
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
原因:mac 的SIP安全系统,禁止用户(包括root用户)操作如/usr目录的系统目录。
解决方法:关闭SIP,步骤重启电脑,同时按住Command+R 直至进入恢复模式,进入恢复模式后,点击头部导航栏,找到 实用工具
-> 终端
,执行如下
#禁用SIP
csrutil disable
重启正常进入系统,确认下SIP状态是否为disabled
#禁用SIP
csrutil status
确认SIP已禁用后,修改根目录写入权限
sudo mount -uw /
为/usr 目录创建include软链,macOs 10.15的MacOS.sdk的目录为/Library/Developer/CommandLineTools/SDKs/
sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ /usr
创建软链后,继续执行 /usr/bin/phpize则正常
$ /usr/bin/phpize
Configuring for:
PHP Api Version: 20180731
Zend Module Api No: 20180731
Zend Extension Api No: 320180731
安装xdebug
下载(xdebug)[https://pecl.php.net/get/xdebug-2.9.8.tgz]
依次执行如下命令
./configure --with-php-config=/usr/bin/php-config --enable-xdebug
开启xdebug 扩展
确认下php.ini的目录
$ php -i | grep php.ini
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
如果不存在则执行
$ cd /etc && sudo cp php.ini.default php.ini
$ sudo vim php.ini
新增xdebug扩展,不确认端口是否被占用,lsof -i:9000
确认端口状态
[xdebug]
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so
xdebug.remote_connect_back=1
xdebug.remote_host=127.0.0.1
#注意remote_port默认是9000,9000会与php-fpm冲突
xdebug.remote_port=9001
xdebug.profiler_enable=on
xdebug.remote_enable=on
xdebug.remote_autostart=on
xdebug.profiler_output_dir="/Users/MAC用户名/log/xdebug"
xdebug.idekey=PHPSTORM
重启php-fpm
$ ps -ef | grep php-fpm
501 1884 1 0 3:22下午 ?? 0:01.17 php-fpm -D
501 9001 1884 0 10:23上午 ?? 0:07.98 php-fpm -D
501 9007 1884 0 10:24上午 ?? 0:06.64 php-fpm -D
501 9030 1884 0 10:25上午 ?? 0:03.99 php-fpm -D
# 终止本机 pid=1884的 php-fpm进程
$ sudo kill 1884
# 已daemon的方式启php-fpm
$ php-fom -D
配置IDE
打开ide 的
Preferences
->Languages & Frameworks
->PHP
PHP 配置项目的php的版本,如已配置忽略
Debug
DBGp Proxy
单个项目配置 php web page
开始使用
选择刚刚配置的好的php web page,开启Debug的监听,支持浏览器和postman等调试,再也不用靠echo 和die 来调试了
done