史上最佳 Mac+PhpStorm+XAMPP+Xdebug 集成开发和断点调试环境的配置
在上一篇 PHP 系列的文章《PHP 集成开发环境比较》中,我根据自己的亲身体验,非常简略的介绍和对比了几款常用的集成开发环境,就我个人而言,比较推崇 Zend Studio 和 PhpStorm,在随手问过度娘和谷歌之后,我发现可以搜到很多 Windows 下介绍配置的版本,却鲜有关于 Mac 下的配置信息,于是我决定自己写一篇。
本文主要阐述在 Mac 下对 PhpStorm 开发环境和 Xdebug 调试环境的安装与配置,由于 PhpStorm 不像 Zend 公司为 Zend Studio 那样配套集成了很多开发部件,包括解释器、调试器、虚拟机、服务器、开发框架等等。因此,配置 PhpStorm 开发环境相对较繁琐,有很多需要注意的地方。本文非常系统和全面的介绍了整个开发和调试环境的配置,旨在希望能成为最优秀的 Mac 上配置 PHP 开发环境教程。
一、下载
PhpStorm 是 jetBrains 公司的收费产品,但对于学生和教师有免费版,另外,在天朝,收费根本不是事儿...
XAMPP 是一个免费的、跨平台、多功能的软件站集合包,主要包含最新的 Apache、MySQL、PHP、PERL 发行版本,这样可以省去了很多关于选择 MySQL 和 PHP 的编译与配置选项的繁琐,使得大家可以专注于编程。
二、安装
至于安装么,大家都是程序员,我想这个应该不需要我赘述了...
三、配置
安装好 PhpStorm 后就要开始新建第一个项目了,和 IntelliJ IDEA 非常的相似,事实上,jetBrains 家族的集成开发环境都高度的相似,熟悉其中一个,就好比打通了任督二脉,再学习和使用起来就非常的方便了,好了,闲话不继续扯了...
1、XAMPP 配置
1.1>添加 Xdebug 调试器
1)最新版本的 XAMPP 都默认自带了 xdebug.so 模块[位于 no-debug-non-zts-20131226 包中]。

2)打开 Applications/XAMPP/etc/php.ini 配置文件,在最末尾处加入以下内容。
[xdebug]
zend_extension=/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_enable=1
xdebug.remote_mode="req"
xdebug.remote_log="/var/log/xdebug.log"
xdebug.remote_host=localhost/127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.idekey="PhpStorm"

1.2>设置完成后重启 Apache,在浏览器中输入 http://localhost/xampp/ 查看 phpinfo() 信息,这样就完成了 PHP 调试器 Xdebug 的初始配置。

2、PHPStorm 配置
2.1> 开发环境的初始化
1)打开 PhpStorm->Create New Project->设置默认的路径 /Applications/XAMPP/htdocs/ (个人建议就设置到 XAMPP 的这个默认路径)->项目名称。

2)新建一个 .php 文件并设置行号,右键单击勾选。

3)设置 IDE 主题,推荐 Darcula 暗黑系列,眼睛长时间看着也不会感觉疲劳。

4)设置字体和文字大小,推荐 Monaco 和 Menlo 字体,在 Mac 上显示的非常漂亮。

5)PHP 是解释型动态语言,所以必须设置 PHP Interpreters 解释器[位于 ../XAMPP/bin 目录中],特别注意:由于受限于 PhpStorm 的内置的 PHP 版本,XAMPP 中的 PHP 版本不可过高,否则会出现无法识别 PHP Version 和 Debugger 的情况。

6)最后检查一遍 PHP 的编码风格是否适合你或者你的团队,PHPDoc 提供了标准代码注释参考方式,有少量的定制化选项。

2.2> Xdebug 和服务器的配置
1) 打开 File>Settings>PHP>Servers,添加 Web Application Debug 服务器。

2) 打开 File>Settings>PHP>Debug,查看 Xdebug 配置信息,其中的 Debug port 是否是 9000 (其实就是看看是否和前面服务端 php.ini 里的 xdebug.remote_port 保持一致,或设置其他较大端口如:10000,只要二者相同即可)。

3)打开 File>Settings>PHP>Debug>DBGp Proxy 下,IDE key 可以随便填写如:PhpStorm,Host 可以设置为 localhost 或者 127.0.0.1,port 是指 HTTP 端口,默认是 80,当然可以随意修改,把服务器的 HTTP 端口设置成一样就成。

3、浏览器扩展配置
PHP 是强大的 Web 开发语言,假若没有浏览器来进行联合调试简直就是笑话,一般来说,推荐大家使用 Chrome 浏览器和 Firefox 浏览器来进行开发(二者选一即可):
3.1>Chrome 下我推荐 JetBrains IDE Support 插件(俗称 JB 大插件),官方开发的插件契合度自然非常的高,不需要配置即可直接使用,不需要刷新和运行即可实时显示你编写代码的内容(主要是 html 标记语言),非常方便,强烈推荐使用。

3.2>Firefox 下我推荐 The easiest Xdebug 插件,在选项中设置 IDE key = PhpStorm (即与 DBGp Proxy 下设置的IDE key一样即可),配置起来也不复杂。

四、调试
好了,对 Xdebug 和 PhpStorm 的配置现在可以告一段落,那么我们现在就开始来调试测试一番,看看上述的配置有没有问题。
1)激活 PHPStorm IDE 的 "Start Listen for PHP Debug Connections" 按钮(右上角 Debug 区类似电话的图标,带红色禁止小圆圈标志表示未激活,变绿表示正在监听中)。

2)设置断点。

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

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

五、总结
1)端口号设置一定要相同,如:Xdebug Port、HTTP Port。
2)IDE Key 设置也一定要相同。
3)有一点我也没有弄清楚,就是 PhpStorm 在 debug 模式下生成的文件(在 /bin/debug 虚拟目录中),总会提示要求做 path mappings,但其实项目的源文件就在 Web 的根目录下,非 remote debug 模式无需做 path mappings,不知是什么原因一直 warning,十分不爽。

4)关于 PhpStorm 使用的快捷键、git/svn 版本控制、配置 FTP 服务等等使用技巧,因为目前本博各个系列文章刚刚起步,正在拼命撰写当中,也许未来某天考虑写一篇全程指南教程,先看看本文的反响如何再说吧。
5)对于 Unix/Linux 感兴趣的程序员,我建议下载源代码,自己来编译安装,加深对 Apache、PHP 和 MySQL 模块的认识。
史上最佳 Mac+PhpStorm+XAMPP+Xdebug 集成开发和断点调试环境的配置的更多相关文章
- [转]史上最佳 Mac+PhpStorm+XAMPP+Xdebug 集成开发和断点调试环境的配置
本文转自:https://www.cnblogs.com/lishiyun19/p/4470086.html 在上一篇 PHP 系列的文章<PHP 集成开发环境比较>中,我根据自己的亲身体 ...
- PhpStorm+XAMPP+Xdebug 集成开发和断点调试环境配置
0x01 Xdebug安装 参考:https://xdebug.org/docs/install cd xdebug-/ phpize sudo ./configure --enable-xdebug ...
- mac OS X下PhpStorm+MAMP PRO+Xdebug+FireFox集成开发和断点调试环境配置
一.环境及软件 1.macbook pro 2.Phpstorm 3.MAMP PRO 4.FireFox 二.环境搭建 1.PhpStorm导入项目 下载PhpStorm并安装,网上随便找个注册码即 ...
- Mac+PhpStorm+XAMPP+Xdebug
Mac+PhpStorm+XAMPP+Xdebug 环境的配置 在上一篇 PHP 系列的文章<PHP 集成开发环境比较>中,我根据自己的亲身体验,非常简略的介绍和对比了几款常用的集成开 ...
- mac+phpstorm增加xdebug调试
一.版本信息 mac 10.10.5 phpstorm 10.0.3 xdebug 版本需要与phpstorm匹配,匹配地址 点我匹配 点我查看所有版本 提示:不确定xdebug版本的,把php ...
- 史上最简单,一步集成侧滑(删除)菜单,高仿QQ、IOS。
重要的话 开头说,not for the RecyclerView or ListView, for the Any ViewGroup. 本控件不依赖任何父布局,不是针对 RecyclerView. ...
- 揭秘史上最完美一步到位的搭建Andoriod开发环境
Windows环境下Android开发环境搭建虽然不难而且网上资料众多,但是众多资料如出一折 忽略了很多细节,最终还是没能达到满意效果. 基本步骤如下:JDK安装.环境变量配置.Eclipse下载.A ...
- mac+phpstorm+xampp断点调试
1.下载xdebug文件 http://xdebug.org/wizard.php 将phpinfo()的源代码复制到文本框中,xdebug会提示如何配置和下载哪个版本的xdebug. 全部下载地址: ...
- 【iOS】史上最全的iOS持续集成教程 (上)
:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdow ...
随机推荐
- Digest [information value filtering]
http://oak.cs.ucla.edu/~cho/papers/cho-filter.pdf 最近对评估方法进行研究,这篇paper是一种对IR方法进行总结,不错的角度,也比较全面
- 洛谷P1466 集合 Subset Sums
P1466 集合 Subset Sums 162通过 308提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交 讨论 题解 最新讨论 暂时没有讨论 题目描述 对于从1到N (1 ...
- 二模10day1解题报告
T1.阅览室(reading) 有一个0~T时间内开放的阅览室,n个读者来读书每人k本,编号和看完所需时间在输入中.其中喜欢度降序排列(不考虑数值),每个人先看喜欢的,如果没有(被人拿走了)就继续找第 ...
- 代码轮子之很简单但是挺管用的基于C# Task的模拟并发的代码
代码轮子之很简单但是挺管用的基于C# Task的模拟并发的代码
- oracle查询使用频率和磁盘消耗需要缓存大小
SELECT * FROM (SELECT Sql_Text, Sql_Id, Cpu_Time FROM V$sql ORDER BY Cpu_Time DESC) ORDER BY Rownum ...
- Highcharts 连续的堆积面积图
说明:设置两个柱形图间距为0 Highcharts柱图,设置X轴各Column的间距 plotOption : { column : { // 设置每个柱自身的宽度 ...
- Easyui扩展或者重载(方法和属性)
1: 使用$.fn.datagrid.defaults.editors重载默认值. 每个编辑器都有以下方法: 名称 属性 描述 init container, options 初始化编辑器并返回目标对 ...
- JS常用小技巧
iframe子窗口调用父窗口方法 parent.functionName(); 二.iframe 父窗口和子窗口相互的调用方法 1.IE中使用方法: 父窗口调用子窗口:iframe_ID.iframe ...
- 设计模式-原型模式(Prototype)
场景分析: 前面我们提到,交易对象Trade,还有继承他的债券交易BondTrade.期货交易FutureTrade. 现在有一个需求,需要提供方法将交易拆分成多笔小交易. 代码如下(如果没有clon ...
- 搭建高性能计算环境(六)、应用软件的安装之lammps
1,上传需要的软件包lammps-stable.tar.gz. 2,解压缩并进入安装目录 tar xvf lammps-stable.tar.gz cd lammps-30Oct14 3,如果需要re ...