首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHPStorm中调试PHPStorm?

如何在PHPStorm中调试PHPStorm?
EN

Stack Overflow用户
提问于 2015-09-25 10:32:37
回答 4查看 29.4K关注 0票数 41

我正在使用PHPStorm开发我的PHP网页。所有这些都可以与我的Apache、XDebug和一个简单的web项目一起工作。没问题。

但是,当我尝试使用php artisan serve调试Laravel5.1WebProject时,我无法调试断点。就像php artisan serve使用另一台服务器.

在我的PHPStorm上,我总是看到:

等待与ide密钥‘(RandomNumberHere)的传入连接

我已经配置了所有的PHPStorm (启用远程调试、正确的端口等等),并且使用“正常”的projects都可以正常工作。

有人能告诉我我是否需要改变什么吗?

谢谢!

EN

回答 4

Stack Overflow用户

发布于 2017-01-19 03:08:29

我不使用phpstorm,但也许我在netbeans中使用的调试解决方案将被证明是有用的。

artisan serve使用与web容器加载的ini文件不同的文件。

通过键入找到这个

代码语言:javascript
复制
php --ini

在我的ubuntu盒子里

代码语言:javascript
复制
Loaded Configuration File:         /etc/php/7.0/cli/php.ini

为您的cli环境编辑ini,并使用与您的web容器相同的配置;

例如..。

代码语言:javascript
复制
[Zend]
zend_extension=/usr/lib/php/20151012/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

唯一要注意的是,只要您已经配置了它,它就会影响您使用php cli做的其他事情。

附加注意事项

如果您希望您的调试会话始终自动启动(而不是通过URL请求参数XDEBUG_SESSION_START=name启动远程调试,例如,在调试CLI时),则可以设置XDEBUG以始终使用此附加配置启动远程调试会话;

代码语言:javascript
复制
xdebug.remote_autostart = 1

请参阅https://xdebug.org/docs/all

通常,您需要使用特定的HTTP /POST变量来启动远程调试(参见远程调试)。当此设置设置为1时,即使GET/POST/COOKIE变量不存在,Xdebug也总是尝试启动远程调试会话并尝试连接到客户端。

票数 7
EN

Stack Overflow用户

发布于 2020-12-01 10:49:59

XDEBB3.0更新

现在使用XDebug 3.0非常容易。我是如何在风暴中打开电源的。

我的php.ini配置:

代码语言:javascript
复制
zend_extension = php_xdebug-3.0.0-7.4-vc15-nts-x86_64.dll
xdebug.client_port = 9000
xdebug.mode = debug

为操作系统安装适当的Xdebug扩展:https://xdebug.org/docs/install

PHPStorm中的设置(我的2020.2.3版):

  • 开始侦听PHP调试连接

  • 运行server.php和第一次调试后管理到php artisan serve的第一个连接

浏览器

票数 5
EN

Stack Overflow用户

发布于 2018-02-24 18:41:26

因此,在浏览了Jeffry的Be Awesome in PhpStorm之后,我遇到了与OP类似的情况(在关于Xdebug和Laravel的章节中)。我正在设置断点,但是PhpStorm无法根据这些点中断执行。老实说,乔什的回答在一定程度上帮助我理解了这个问题,但对我来说还不够清楚。于是,我走出去,通过点击和试用的方法自己找到了解决方案,我想分享最后的解决方案。也许它会派上用场,有些人还在想。

首先,正如OP所说/猜测的那样,php artisan server 确实使用了另一台服务器。它是PHP的内置web服务器加上的server.php路由器文件。它使用的配置是CLI配置。尝试php --ini查找所有包含的配置。

在我的例子中(Ubuntu17.10),所包含的Xdebug配置文件来自位置/etc/php/7.2/cli/conf.d/20-xdebug.ini。我添加了第二行以启用,现在文件看起来如下所示,总共有2行:

zend_extension=xdebug.so xdebug.remote_enable=1

现在用于配置PhpStorm:

  1. Run > Edit Configurations,并给出任何名称,或者将其保留为未命名的
  2. 单击...服务器:选项后的服务器
  3. 单击+并指定任何名称(例如,Laravel App)
  4. 将主机设置为localhost,将端口设置为8000,将调试器设置为Xdebug,并保留未检查的任何其他复选标记!
  5. 单击Apply / OK
  6. 从Server:的下拉列表中选择我们刚刚设置的服务器。
  7. 设置启动URL:您想要开始调试的URL (例如\user)
  8. 选择您喜欢的浏览器。
  9. 单击Apply / OK

请记住,调试器只有在实际的web服务器启动之后才能工作,这是使用php artisan server命令启动的服务器。

现在,启动web服务器.php artisan serve并在PhpStorm中单击Run > Debug 'your-debug-config',一切都应该正常工作!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32780258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档