如何在PHPStorm中调试php artisan server? [英] How to debug php artisan serve in PHPStorm?

查看:113
本文介绍了如何在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

PHPStorm中的解决方法是创建直接调用PHP内置Web服务器的运行配置。使用说明:

  1. 打开运行->;编辑配置.
  2. 新建"PHP内置Web服务器"
  3. 设置值:
  • 主持人: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
  1. 单击"确定"并运行。
现在,PHPStorm将执行与使用其他解释器选项的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配置,则需要手动执行此操作。

这篇关于如何在PHPStorm中调试php artisan server?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆