Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用SSH连接编辑代码时使用Xdebug进行VSCode远程调试_Php_Visual Studio Code_Xdebug - Fatal编程技术网

Php 使用SSH连接编辑代码时使用Xdebug进行VSCode远程调试

Php 使用SSH连接编辑代码时使用Xdebug进行VSCode远程调试,php,visual-studio-code,xdebug,Php,Visual Studio Code,Xdebug,当我使用VSCode远程资源管理器SSH插件从Windows计算机上打开Linux Web服务器上的远程目录时,不确定如何在VSCode调试配置中配置路径映射。如果我在本地存储源代码的副本,并使用本地源代码启动VSCode,那么调试就可以正常工作 Web服务器是Ubuntu 14 Lamp,本地系统是Windows 10。在VSCode中使用远程资源管理器插件从Windows工作站ssh到Linux服务器,并在服务器上编辑源代码 当我将源文件存储在本地并通过打开本地副本来启动VSCode时,这在

当我使用VSCode远程资源管理器SSH插件从Windows计算机上打开Linux Web服务器上的远程目录时,不确定如何在VSCode调试配置中配置
路径映射。如果我在本地存储源代码的副本,并使用本地源代码启动VSCode,那么调试就可以正常工作

Web服务器是Ubuntu 14 Lamp,本地系统是Windows 10。在VSCode中使用远程资源管理器插件从Windows工作站ssh到Linux服务器,并在服务器上编辑源代码

当我将源文件存储在本地并通过打开本地副本来启动VSCode时,这在VSCode debug config中运行良好

        pathMappings": {
           "/var/www/html/codeigniter/": "${workspaceRoot}",
        },
当我使用远程资源管理器在Windows上启动VSCode时,此配置不起作用。我通过远程资源管理器连接到此根文件夹
/var/www/html/codeigniter/


当我通过SSH-plugin for-VSCode在Linux服务器上打开文件时,我希望能够识别断点并停止代码,但事实并非如此,代码运行时不会碰到断点。

感谢您的回复。我希望避免代码的副本,以便在调试时进行编辑。 我最终还是让事情顺利进行了。因此,我可以使用VSCODE ssh connect,然后在服务器上调试和编辑源代码,而无需制作本地副本

"name": "Listen for XDebug",
"type": "php",
"request": "launch", 
"port": 9000    
在我的linux服务器上,我的xdebug设置

xdebug.remote_handler=dbgp
xdebug.remote_log="/tmp/xdebug/log"
xdebug.profiler_enable = 1
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_autostart = 1
xdebug.remote_host = 127.0.0.1
我必须将远程主机设置为本地主机,然后一切正常。 我对xdebug了解不够,没有意识到即使IDE调试器在同一台主机上运行,也需要设置远程主机。我对vscode的了解还不够,所以在SSH远程编辑模式下,调试组件实际上安装在远程服务器上,使其成为xdebug和远程主机之间的本地主机连接


无论如何,问题解决了。谢谢你的回答,这在我的道路上帮助了我

正如Cris所说,你应该删除php.ini中的xdebug.remote\u connect\u back=1

删除
xdebug.remote\u connect\u back=1
是我为这件事向你开的一张罚单。你帮我省了很多浪费的时间。尝试了所有这些,没有运气。您是否设置了路径映射?最终它成功了-结果我错过了,需要:
xdebug.remote\u autostart=1
如果您有xdebug v3+,请按照新名称替换设置。有关使用v3+xdebug的更多信息,请查看此页面。