怎么在PHPStorm中调试php artisan server?

本教程将介绍如何在PHPStorm中调试php artisan server?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

怎么在PHPStorm中调试php artisan server? 教程 第1张

问题描述

我正在使用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服务器的运行配置。使用说明:

    打开运行->编辑配置.

    新建"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

    单击"确定"并运行。

现在,PHPStorm将执行与使用其他解释器选项的php artisan serve相同的命令。实际上,php artisan serve的唯一目的是将server.php附加到PHP内置Web服务器。server.php仅模拟Apache的mod_rewrite功能。

运行PhpStorm配置,则需要手动执行此操作。

好了关于怎么在PHPStorm中调试php artisan server?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。