如何解决PhpStorm Xdebug,WSL2,Docker //无法评估表达式'$ _SERVER ['SERVER_PORT']'
我正在由docker-compose本地编排的一组Docker容器中运行Magento2 PHP应用程序。我正在以WSL2模式运行Windows的Docker桌面。
我的带有Xdebug的php 7.3解释器位于其中一个容器中。一旦进入FPM上下文-如果我只是在PhpStorm中激活了远程调试,就可以调试一切。
现在我需要调试一个CLI脚本,PhpStorm向我显示以下错误:
Cannot evaluate expression '$_SERVER['SERVER_PORT']'
因此Xdebug可以清晰地到达PhpStorm,我在此JetBrains支持论坛,StackOverflow或Google上发现的所有提示似乎都无法解决问题。我认为在CLI上下文中运行内容时,SERVER_PORT
通常不可用。
我也无法在PhpStorm中正确设置CLI解释器:
- SSH-我没有ssh服务器,仅将其添加到容器中只是为了进行PhpStorm调试,听起来像是过分的
- Docker-我需要连接到一个正在运行的容器,而不是从映像中启动一个新容器(我需要针对该脚本的持久数据库连接),而且应该在本地执行的实际映像是一个多阶段映像,PhpStorm不支持。
- Docker Compose-不起作用,我在Windows上没有docker compose,一切都在WSL“容器”内部
- WSL-不起作用,我的PHP不在WSL内,它更深一层-在WSL下运行的Docker内部。
PHP 7.3.18-1+0~20200515.59+debian10~1.gbp12fa4f (cli) (built: May 15 2020 12:43:10) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.18,Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.18-1+0~20200515.59+debian10~1.gbp12fa4f,Copyright (c) 1999-2018,by Zend Technologies
with Xdebug v2.9.6,Copyright (c) 2002-2020,by Derick Rethans
此Xdebug配置可在FPM上下文中进行调试:
cat xdebug.ini
zend_extension=xdebug.so
xdebug.remote_enable=on
xdebug.remote_autostart=1
; this is IP of windows host that is visible for docker
xdebug.remote_host=172.31.64.1
xdebug.remote_handler=dbgp
如何使Xdebug也能在CLI上下文中工作?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。