如何在PHPStorm中调试php artisan server?
我正在使用PHPStorm开发我的PHP网页。使用我的Apache Server、XDebug和一个简单的web PHP项目都可以很好地工作。没问题。
但是,当我尝试使用php artisan serve
调试Laravel 5.1Web项目时,我无法调试断点。这就像php artisan serve
使用另一台服务器.
在我的PHPStorm上,我总是看到:
正在等待使用ide键"(RanomNumberHere)"的传入连接
我已经在PHPStorm中配置了所有内容(启用远程调试、正确的端口等),并且使用"普通"PHP项目都可以正常工作。
有人能告诉我是否需要更改吗?
谢谢!
解决方案
使用php artisan serve
调试不起作用,除非您在INI文件中启用了调试。
@Bogdan指出了原因。artisan serve
将调用PHP内置Web Server,但不传递php命令行选项(PHPStorm中命名为解释器选项)。
即如果从命令行执行:
$ php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 artisan serve
则-d
给出的这些选项不会传递给被称为PHP内置Web服务器。您可以看到内置服务器的调用here。
- 打开运行->;编辑配置.
- 新建"PHP内置Web服务器"
- 设置值:
- 主持人:
localhost
- 端口:
8000
- 文档根:选择Laravel的公共目录/目录
- 选中
Use route script
并选择Laravel Projects根目录中的server.php
。 - 解释器选项:
-dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1
- 单击"确定"并运行。
php artisan serve
相同的命令。实际上,php artisan serve
的唯一目的是将server.php附加到PHP内置Web服务器。server.php仅模拟Apache的mod_rewrite
功能。更新:来自@attila-szeremi的良好提醒:请确保启用了";Start Listing for PHP Debug Connections&qot;,如果您没有使用";Debug&qot;运行PhpStorm配置,则需要手动执行此操作。
相关文章