PHP设置单步调试
一直看看PHP语法,最近看貌似很火的laravel,还有一个基于laravel/framework的OctoberCRM,一直没找到方式做单步调试,今天总算达成了。
IDE用的Intellij idea,Android Studio就是基于这个玩意搞的,也是由于Android Studio我才开始接触这个IDE,后来看PHP,就装了个插件,就叫PHP吧,然后编写PHP代码,提示做的挺好的,我一般用IDE都是看两个内容,一是提示,二是debug,debug今天搞好了,可以单步了。
我选用了xdebug,没有为什么,我正好搜到了http://nixmash.com/php/configuring-php-debugging-in-intellij-idea-with-xdebug/这篇文章,我的目的也仅仅是能单步调试。
1,安装xdebug,具体安装安装参考http://xdebug.org/wizard.php,只需要把你本地的phpinfo()内容给那个网址分析一下,你也可以>php -i输出同样的信息,你就可以按照步骤一步步安装了,so easy!
2,配置xdebug, 按照第一步安装好xdebug之后,它有教你在php.ini配置,但是需要加上一句xdebug.remote_enable=on,这个在验证的时候得用,其他的配置项使用默认的就好。
3,>sudo apachectl restart,重启apache,你就可以看到xdebug信息了
4,随便建一个空白的php项目。
5,新建一个php文件,随便写些语句,你可以用HTML嵌入PHP格式,或者一个纯PHP,都可以。
比如:
HTML>
head>
title>debug phptitle>
head>
body>
P>3+5=P>
br/>
$a = 1;
$b = 2;
echo$a+$b;
?>
body>
HTML>
很简单的加法,在$b=2;那一行打一断点,带回就会停在这里。
6.菜单中Run->edit configurations,或者菜单栏中也有,打开
涂掉的红色是我的用户名,就不给大家看了,配置Yosemite AMP环境时,你可以用这种配置方式, apache/php都可以不用装了,就安装一个mysql,可以参考http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/,我记不得当时用的链接了,请原谅,貌似使用homebrew装的mysql,所以得手动启动,当然我也不喜欢自动开始,毕竟我不是每天都开发这个。php扩展mcrypt是要单独装的,homebrew也能搞定,其他貌似都有了。
好了,说回到intellij配置,左上角+添加一个PHP Web Application,Name可以随便输入。Start URL对应的能打开就行。Server后面…打开:
新增一个Server,端口号注意一下,待会儿Laravel默认用的是8000,系统默认的是80.
Validate remote environment打开。这个很重要。
7,可以看到如下页面:
information是我按过Validate之后显示的,这是本地配置都正确的情况下得到。事实上,我在用Laravel下>php artisan serve的时候这里是验证不过的。
8,打开Deployment server:
如下:
这里选择In place,浏览页面可以填入你的页面,laravel中可以直接填写http://localhost:8000,好了,这里完事了。
8,OK之后就这样。
9,参考https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm
,第四步:Activate debugger on server
10,你可以在你的chrome活着firefox上看到如下:
你得点击start debugger,然后刷新页面,你就可以看到你的intellij断点停住了,good,现在可以单步调试了。
ps:如我文中提到的,lavaral使用>php artisan serve可以很轻松的启动项目,项目你可以参考learnlaravel5那个,官网有教程。我也是一步步做的。这条命令之后,你可以通过chrome直接访问http://localhost:8000访问,OctoberCRM也是一样的。
整个设置debug步骤都一样,就是validate通不过,或者我在配置learnlaravel的时候不用php artisan serve启动,但是我仍然没有配置好.htacess,apache有很多配置我都不懂,好了,先这样不用管那么多,现在不管最后如何部署到服务器,现在开发可以正常进行了。
希望以上内容能对你有所帮助。
参考:
http://xdebug.org/wizard.php
http://nixmash.com/php/configuring-php-debugging-in-intellij-idea-with-xdebug/
https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm