macOS Catalina 10.15.2 自带的 Apache2,PHP 在配置的时候,非常困难,而且不管如何配置,都没办法跟 MySQL 数据库连接,总之会出现各种问题,而且各种插件安装异常麻烦。
尝试过使用 brew 安装 MySQL,XAMPP,但是也是都没办法成功配置。macOS系统更改了太多的东西,各种不方便啊。
最后还是使用 XAMPP-VM 或者干脆搭建一个 VirtualBox 虚拟机在 Linux 下进行开发吧。
下面,我们介绍一下使用 XAMPP-VM 进行开发的方法。
1.下载最新版本的XAMPP-VM
下载完成之后,点击下载的安装包,进行安装。
开启成功之后,会显示虚拟机的访问 IP,如下: 切换到
Services
点击开启服务,如下:

服务开启之后,状态结果显示如下:


继续在 SHELL 中建立 PHP 调试环境:
安装过程如下,主要是安装开发包相关的头文件信息,如下:
安装需要的软件,如下:
尾部增加如下内容:
xdebug.remote_enable
必须设置为1xdebug.remote_host
需要配置成调试器的IP
地址,本机则填写127.0.0.1
或者localhost
注意:连接是由被调试的PHP程序发起的,而不是通常理解的由调试器发起,一定要查看xdebug.remote_log
日志 。这个模式刚刚开始不是非常好理解,这个其实是对于多进程模式的一个妥协,PHP可能运行在多进程中,脚本可能被不同进程执行,导致只能使用PHP反向连接调试器才能解决问题xdebug.remote_port
配置成一个不冲突的端口xdebug.remote_handler
只能填dbpg
xdebug.remote_connect_back
如果开启,将会忽视 remote_host 的配置,以请求来源的 IP 作为 xdebug 响应的 IP 这个参数可以帮助理解xdebug.remote_host
重启服务:
推荐使用 Visual Studio Code
调试代码, Visual Studio Code
安装完成之后,需要安装几个PHP插件,PHP IntelliSense, PHP Debug,如下图: 接下来,打开 WordPress 的代码目录 ,并增加调试配置项:
下拉选项中选择 PHP
具体配置项目内容如下:
多机调试的情况下,如果被调试设备上的代码路径跟本机调试路径存在差异,可能需要使用
pathMappings
进行修正,如下:
配置完成后,点击调试,调试器(Visual Studio Code
)会创建一个指定的端口(9005),监听来自被调试程序的连接请求。
上面的文件,下载的时候非常慢,可以本站下载:
注意:
卸载已经安装好的XAMPP-VM的办法如下:
- 删除 /Applications/XAMPP.app/
- 删除 ~/.bitnami/
但是注意有一个问题,那就是如果再次重新安装XAMPP-VM的话,会发现获取的IP地址从 192.168.64.2 变成了192.168.64.3,如果再次安装卸载,那么又会变成 192.168.64.4。对于有洁癖的人来说是个折磨。
很明显有文件没有清理干净,这个文件就是
这个文件里面静态配置了分配给XAMPP-VM设备网卡的静态地址,手工编辑这个文件即可解决问题。
这个文件是通过全盘搜索找到的,命令如下:
VSCode使用的远程调试,因此,PHP都是在远程虚拟机XAMPP-VM上执行的,VSCode只是通过TCP连接到调试端口上工作的,因此本地的VSCode不需要配置PHP环境。
我用的也是 VM版,我的意思是以前我在 win10上配php开发环境的时候,给vscode安装诸如PHP Intellisense这样的插件需要自己在用户配置文件里指定一个 excutblePath指向php的exe才能有效,最近把开发移到mac上一下不知道这个php的执行地址在哪里,不过我已经在网上找到了配置地址了,是 /urs/local/bin/php ,不过更有意思的是,我即便不配这个实测也能自动感知整个项目的函数与变量,也就是说在mac 的vscode默认就给你配好这个值了,但在win10上这个默认是null值需要自己配一下。另外关于 vm的 Xdebug我也是找了大量的资料也是没有搞定,目前可以确定在 vm里面 phpize 缺失 include下面的文件,这样就编译不出xdebug.so,除非用vm自带的shell来apt get下php 看能否装上phpize,但不确定这会不会影响原来xampp的php,不得不吐槽vm里面连git都没有,什么都要自己再apt 一下感觉又挺折腾的,以上所有烦恼和纠结win10上一个安装包全搞定