macOS Catalina 10.15.2安装配置WordPress 5.3.2并建立PHP调试环境

macOS Catalina 10.15.2 自带的 Apache2PHP 在配置的时候,非常困难,而且不管如何配置,都没办法跟 MySQL 数据库连接,总之会出现各种问题,而且各种插件安装异常麻烦。

尝试过使用 brew 安装 MySQLXAMPP,但是也是都没办法成功配置。macOS系统更改了太多的东西,各种不方便啊。

最后还是使用 XAMPP-VM 或者干脆搭建一个 VirtualBox 虚拟机在 Linux 下进行开发吧。

下面,我们介绍一下使用 XAMPP-VM 进行开发的方法。

1.下载最新版本的XAMPP-VM

下载完成之后,点击下载的安装包,进行安装。

开启成功之后,会显示虚拟机的访问 IP,如下: 切换到 Services 点击开启服务,如下:


服务开启之后,状态结果显示如下: 开启一个 SHELL,在虚拟机中进行操作 在开启的 SHELL 中执行如下命令:

继续在 SHELL 中建立 PHP 调试环境:

安装过程如下,主要是安装开发包相关的头文件信息,如下:

安装需要的软件,如下:

尾部增加如下内容:

  • xdebug.remote_enable 必须设置为1
  • xdebug.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 IntelliSensePHP Debug,如下图: 接下来,打开 WordPress 的代码目录 ,并增加调试配置项: 下拉选项中选择 PHP 具体配置项目内容如下:多机调试的情况下,如果被调试设备上的代码路径跟本机调试路径存在差异,可能需要使用 pathMappings  进行修正,如下:

配置完成后,点击调试,调试器(Visual Studio Code )会创建一个指定的端口(9005),监听来自被调试程序的连接请求。

上面的文件,下载的时候非常慢,可以本站下载:

注意

卸载已经安装好的XAMPP-VM的办法如下:

  1. 删除 /Applications/XAMPP.app/
  2. 删除 ~/.bitnami/

但是注意有一个问题,那就是如果再次重新安装XAMPP-VM的话,会发现获取的IP地址从 192.168.64.2 变成了192.168.64.3,如果再次安装卸载,那么又会变成 192.168.64.4对于有洁癖的人来说是个折磨。

很明显有文件没有清理干净,这个文件就是

这个文件里面静态配置了分配给XAMPP-VM设备网卡的静态地址,手工编辑这个文件即可解决问题。

这个文件是通过全盘搜索找到的,命令如下:

参考链接


发布者

《macOS Catalina 10.15.2安装配置WordPress 5.3.2并建立PHP调试环境》上有5条评论

  1. 请问一下 mac 下的vscode 装诸如 PHP Intellisense这样的插件不需要像win10一样指定一个 excitablePath 到 PHP的运行文件吗?
    1. Linux/macOS下面的PHP执行路径其实是固定的,基本上不存在自定义目录位置的情况,即使自定义目录,也一般在/opt/或者/usr/local/目录下面,一般默认在这几个目录下搜索,如果变更的目录不在这几个目录下,其实配置起来比Window还要复杂的。更多的是大家使用默认约定,基本上不会出问题。
      1. 谢谢那能给我一个默认配置的代码吗?我不知道我Mac的内置php装在哪?并且不知道 excutblePath的设置格式,网上找了一圈都没找到
        1. macOS上并没有使用内置的PHP来调试代码的,macOS下的PHP一般是通过HomeBrew来安装,系统默认的非常非常古老,而且插件几乎完全缺失。我文章第一节就讲,很难配置成功,所以使用XAMPP-VM 来配置编译环境。
          VSCode使用的远程调试,因此,PHP都是在远程虚拟机XAMPP-VM上执行的,VSCode只是通过TCP连接到调试端口上工作的,因此本地的VSCode不需要配置PHP环境。
          1. 我用的也是 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上一个安装包全搞定

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注