PHP调试环境搭建(Mac+MAMP+PhpStorm+Xdebug+Chrome)

991 阅读2分钟

1. MAMP

教授比较推荐MAMP,我也觉得MAMP对于我这样的废柴来说简单又友好。MAMP分为免费版(灰色图标)和收费的PRO(蓝色图标),如果只想要一键启动,安装时注意勾掉选项,只安装免费版就好。 下载:www.mamp.info/en/ 有些安装过MySQL Server的电脑会出现无法在MAMP中启动MySQL Server的情况,一般来说移除MySQL就可以解决问题,切记MySQL的移除不是往垃圾箱里一拖就能解决的,我粗暴操作的结果就是最后不得不重装了系统。 正常启动如图:

2. PHPStorm

方案一:PHPStorm提供学生免费。 申请地址:www.jetbrains.com/student/ 要求提供学校邮箱,如果是海外的学生认证应该挺快的,也不需要上传学生证。

方案二:不是学生,自己花钱

3. Xdebug

对于Mac用户来说,下载Xdebug理论上很方便。 官网安装指导文档:xdebug.org/docs/instal…

首先要安装Homebrew,使用命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

请注意不要使用brew install homebrew/php/php71-xdebug,已经于2018年初失效,我们还是要乖乖按照官网文档的指引使用PECL,使用命令: pecl install xdebug

---如果反馈“pecl: command not found”,有几种解决方案:

  1. 通过homebrew重装PHP,使用命令: brew install php@7.1 通过 find -L "$(brew --prefix php@7.1)" -name pecl -o -name pear可以寻找pear和pecl命令。
  2. 仍然无法使用pecl,试试重连,使用命令: brew unlink php@7.1 && brew link php@7.1 --dry-run && brew link --overwrite --force php@7.1 (以上解决方案来自 stackoverflow.com/questions/3…

4. 配置php.ini和xdebug扩展

如果现在搜索php.ini,可能会跳出无数个版本的php.ini,只要修改对应版本的文件即可生效。 查看版本有两个方法,打卡MAMP,MAMP->Preference->PHP->Standard Version。 或者使用phpinfo()查看。 在php.ini中添加

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php7.2.7/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_autostart=on
xdebug.remote_log="/var/log/xdebug.log"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.idekey="PhpStorm"

zend_extension后面跟的地址来源于php.ini里写入的xdebug.so地址,例如:

--- 既然修改php.ini,不如顺便打开display_errorserror_reporting 搜索display_errors,将Off改成On. 搜索error_reporting,改成E_ALL. display_error权限高于error_reporting,如果前者是Off, error_reporting = E_ALL 应该是不能起效的。

保存php.ini,重启PHP,使用phpinfo()查看Xdebug是否开启,如图: 注意这里的端口应该是9000:

5.配置PHPStorm

a) 打开PHPStorm-> Preference -> Languages & Frameworks -> PHP: 屏幕快照 2018-09-18 下午1.56.11.png 点击CLI Interpreter后面的...: 点击+,添加interpreter路径,随后出现Debugger: Xdebug

b) 打开PHPStorm-> Preference -> Languages & Frameworks -> PHP -> Debug -> DBGp Proxy

IDE key: PHPSTORM Host: localhost Port: 9000

c) 打开PHPStorm-> Preference -> Languages & Frameworks -> PHP -> Server 点击+添加localhost: Name: localhost Host: localhost Port: 80 Debugger: Xdebug

d) 打开Run -> Edit Configuration 点击+ 选择PHP Web Page Server: localhost Start URL: 填写当前需要访问的页面,例如test.php

6. 插件

Chrome或者Firefox都有Xdebug插件,这里选择Chrome为例 在Chrome网上应用商店例下载Xdebug Helper或者JetBrains IDE Support 双击点击选项,填写IDE Key为PHPSTORM

点击Debug:

回到PHPStorm,点击右上角的电话按钮,打开监听:

然后就可以愉快的加上breakpoints,点击瓢虫按钮开始debug。

大功告成。