如何使用dbgp(Xdebug)和gedit建立PHP调试会话?

如何使用dbgp(Xdebug)和gedit建立PHP调试会话?,php,laravel,xdebug,gedit,Php,Laravel,Xdebug,Gedit,我需要调试我的Laravel应用程序,当我搜索时,Xdebug似乎是最好的选择。到目前为止,我无法设置调试我的应用程序的会话,我对如何配置环境感到困惑 因此,我使用以下工具运行我的Laravel应用程序: php artisan serve --port=8001 根据我的php--ini,xdebug的conf文件是: $ php --ini | grep xdebug /etc/php/7.2/cli/conf.d/20-xdebug.ini 其中包括: $ cat /etc/php/

我需要调试我的Laravel应用程序,当我搜索时,Xdebug似乎是最好的选择。到目前为止,我无法设置调试我的应用程序的会话,我对如何配置环境感到困惑

因此,我使用以下工具运行我的Laravel应用程序:

php artisan serve --port=8001 
根据我的
php--ini
,xdebug的conf文件是:

$ php --ini | grep xdebug
/etc/php/7.2/cli/conf.d/20-xdebug.ini
其中包括:

$ cat /etc/php/7.2/cli/conf.d/20-xdebug.ini 
[xdebug]
zend_extension=xdebug.so
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.idekey=default
为了在gedit上调试它,我安装了。在dbgp的文本编辑器设置中:

有人能给我解释一下这个协议是如何工作的吗?如果我单击“开始侦听调试会话”,它会尝试在端口8001(不是9000)上打开一个已在使用的会话,当然它无法打开,如果我必须与Xdebug一起启动我的PHP应用程序,那么如何设置它以使用默认的Laravel命令(
PHP artisan serve
)运行它


而且,如果我在Picture related中单击Start debug,它将在浏览器中以准确的URL
http://127.0.0.1/?XDEBUG_SESSION_START=default
(在端口80中)

没有gedit用户。。。但是:1)您不使用(本地调试根本不需要它)DBGp代理(它是一个单独的软件,必须单独安装)。。所以不要为此配置任何东西;2) 使用Xdebug的
9001
端口(如果您碰巧安装了php fpm,因为它使用相同的端口,那么将避免与php fpm发生冲突);3) 因此,在php.ini和“端口(侦听)”字段中使用
9001
;4) 可能需要使用
http://127.0.0.1:8001/
作为“要调用的URL”(因为它是在该端口上提供的)。5) 如果仍然存在问题——收集xdebug日志:谢谢,这帮了大忙