史上最佳 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 ...
随机推荐
- 未来十年的十三条思考(FW)
支付宝在某种意义上延续了“双十一”的购物狂欢. 如果你关注微信朋友圈,你会发现支付宝最近以各种广告.方案植入方式推出强劲广告.而其中很重要的一个促销手段便是,从今年12月1日到12月15日,用户在一些 ...
- openstack实例热迁移
[DEFAULT]scheduler_default_filters=AllHostsFilterallow_resize_to_same_host=Trueallow_migrate_to_same ...
- THINKPHP 清除HTML注释、换行符、空格、制表符等
thinkphp3.2 3.2中取消了配置文件中的 'TMPL_STRIP_SPACE' 属性,所以我们先来修改:\ThinkPHP\Library\Think\Template.class.php ...
- .NET中使用log4net
一,加载log4net引用 下载log4net.dll,我们这里使用的是.NET2.0 下载地址:http://files.cnblogs.com/gosky/log4net-1.2.13-bin-n ...
- 动态设置屏幕icon
REPORT demo_dynpro_status_icons. DATA value TYPE i VALUE 1. DATA: status_icon TYPE icons-tex ...
- void指针(void*)用法
首先看一段测试代码: #include <stdio.h> int void_test(void* data) { ; num = *(int*)data; printf("nu ...
- android自定义控件实现TextView按下后字体颜色改变
今天跟大家分享一下Android自定义控件入门,先介绍一个简单的效果TextView,按下改变字体颜色,后期慢慢扩展更强大的功能 直接看图片 第一张是按下后截的图,功能很简单, ...
- [leetcode]_Balanced Binary Tree
第四道树题,逐渐能写递归了.虽然最后AC的代码还是看了网络,但是距离成功攻克此类问题仅一步之遥. 题目:一棵树,判断是否为AVL.(AVL条件:树上任意一点的左右子树的高度差<=1) 思路:树依 ...
- Cassandra 计数器counter类型和它的限制
文档基础 Cassandra 2.* CQL3.1 翻译多数来自这个文档 更新于2015年9月7日,最后有参考资料 作为Cassandra的一种类型之一,Counter类型算是限制最多的一个.Coun ...
- js一些实用例子
1.获取焦点选中文本内容 $("#id").focus(function(){ this.select(); }); 2.表单提交方式 A.自动提交 setTimeout(func ...