基于Valet配置的Laravel项目使用PHPStorm进行调试
Posted 题材新颖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Valet配置的Laravel项目使用PHPStorm进行调试相关的知识,希望对你有一定的参考价值。
最近在学习Laravel框架,比较麻烦的一个问题就是调试,比较好的调试工具就是xdebug,不过个人还是希望能够使用phpStorm这样的IDE直接进行单步调试,这样可以更好地了解具体变量的情况,找问题的时候会更加方便,在找了一堆资料之后终于找到了一篇靠谱地,并且尝试成功。原帖地址在这:https://pixelfear.com/blog/xdebug-laravel-valet-phpstorm-composer
PHP7.0似乎自带了xdebug,所以不需要再重新安装了。在MAC OS系统下,打开/usr/local/etc/php
目录,会看到不同版本的php,这里我个人用的是7.1版,所以直接进入7.1
目录、在这个目录下有个php.ini
文件,这个文件就是配置文件。使用编辑器打开,在文件最后加上这么几句:
[xdebug]
zend_extension="/usr/local/opt/php71-xdebug/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_port=9001
这里一定要记得改端口,因为valet会使用9000端口,如果不改的话就会产生冲突。改完之后保存,然后把/usr/local/etc/php/7.1/conf.d
下的ext-xdebug.ini
文件删除。(这个文件也引用了关于xdebug的配置,直接删掉最省事)
完毕之后在命令行输入valet restart
之后重启的时候没有产生冲突,那么这个时候就已经可以在valet中使用xdebug了。
如果想要在PHPStorm中使用单步调试,那么还需要再配置一下PHPStorm。首先是关于PHP解释器的配置,直接在Preference->Languages & Frameworks -> PHP
中配置设置好路径,一般是在usr/local/bin/php
目录下,PHPStorm会自动扫描到最新版,并且在之前的配置都设置好的情况下,在PHP executable右下方你会看到Debugger: Xdebug
字段,这就说明我们已经可以使用Xdebug来调试了。
当然Debug的设置也是需要我们手动调整的,在Preference -> Languages & Framewords -> PHP -> Debug
选项卡下面,找到Xdebug
这一项,然后把端口设置为9001(其实就是之前在php.ini里面自己设置好的端口,不想用9001也可以,就是注意不要和valet的9000冲突了)。然后取消勾选两个Force的选项,这两没啥意义,选了的话每次Valet访问server.php的时候xdebug都会停下来。
最后一步就是设置项目了,打开Preference -> Languages & Frameworks -> PHP -> Servers
,创建一个新的server,名称直接选择自己的项目就好了,然后路径是自己的项目名称加上后缀.dev
,端口还是80,调试器选择Xdebug。之后在调试的时候可能需要在配置一下运行设置,也可以自己在Run -> Edit Configurations
里面设置,直接新增一个PHP Application,然后在这个Application内部设置参数: server选择刚刚创建的server,start URL是指你要调试的路径,如果整个项目都想调试那么直接按默认设置填/
就行了。到此为止全部的设置就完成了,接下来直接从Run中选择Debug就可以了,一定要记得用Debug进入页面,否则是不会触发断点的。
以上是关于基于Valet配置的Laravel项目使用PHPStorm进行调试的主要内容,如果未能解决你的问题,请参考以下文章
在Mac开发环境Laravel Valet中配置运行Flarum论坛系统的方法详解
Laravel Valet托管网站返回Chrome中的“无法访问网站”
MacOS Laravel Valet 增加 memory_limit
Laravel 4.2 + Laravel Valet + PHP 7 = 需要 Mcrypt PHP 扩展