一、环境及软件

1、macbook pro

2、Phpstorm

3、MAMP PRO

4、FireFox

二、环境搭建

1、PhpStorm导入项目

下载PhpStorm并安装,网上随便找个注册码即可破解,安装后打开界面选择ToolBar → VCS → Checkout from Version Control → Git,填写Git Repository URL,选择项目存放目录,点击Clone完成代码拷贝。

2、MAMP PRO配置Hosts

下载MAMP PRO并安装,网上随便找个注册码即可破解,安装后打开界面切换到MAMP PRO的Hosts Tab,点击左下角的“+”号添加host,填写Server name及选择项目文件目录,就完成了host的配置

mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置-LMLPHP

3、MAMP PRO配置Debugger

切换到PHP Tab,将Debugger项打上勾,打上勾,打上勾,重要的事情说三遍(默认没打勾,我一开始没注意到这个选项,导致弄了半天还是没搞定,就是因为遗忘这最关键的步骤 T T),如下图所示

mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置-LMLPHP

4、修改php.ini文件中的配置

MAMP PRP → File → Edit Template → PHP → PHP 5.3.28 php.ini(与上图所选的php版本一致),打开文件后拉到最后可以看到[xdebug]的配置块

[xdebug]
MAMP_Xdebug_MAMP
 xdebug.remote_enable=1
 xdebug.remote_host=localhost
 xdebug.remote_port=9000
 xdebug.remote_autostart=1
 xdebug.idekey="PHPSTORM"

增加一项xdebug.idekey="PHPSTORM",该配置跟之后PhpStorm中的配置有关系,其他不需要修改,重启MAMP PRO

5、PhpStorm Xdebug端口及Server配置

Preferences(command+,)→ PHP → Debug → Xdebug → Debug port修改为9000(一般默认就是9000,不需要修改,这配置项与php.ini中的xdebug.remote_port=9000保持一致)

mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置-LMLPHP

然后点击右上方的倒三角Edit Configurations

mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置-LMLPHP

1)选择PHP Web Application,选择Server及Browser

mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置-LMLPHP

2)添加server

mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置-LMLPHP

6、FireFox添加The easiest Xdebug插件

安装插件后设置IDE key = PHPSTORM 即与php.ini中xdebug.idekey="PHPSTORM"保持一致

mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置-LMLPHP

7、调试

1)激活PhpStorm的“Start Listen for PHP Debug Connections”按钮(右上角Debug区类似电话的图标,带红色禁止小圆圈表示未激活,变绿表示正在监听)

2)设置断点

3)点击爬虫按钮开始debug状态

4)浏览器会开始弹窗等待调试回话,按F7便可逐行进行断点调试,再也不需要echo或者proint_r这样繁琐的打印调试了

mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置-LMLPHP

三、总结

1、端口号设置一定要相同

2、IDE Key 设置也一定要相同

3、就目前我的测试情况来看其实还是有一些疑问:

1)php.ini中xdebug.remote_host=localhost不需要跟MAMP PRO Hosts中的server name保持一致?

2)就算FireFox没添加The easiest Xdebug插件也可以进行断点调试,那这个插件到底有什么用?

05-11 11:21