我有一个新安装的Centos 7,在AWS EC2实例上运行cPanel和WHM。所有软件都是最新版本。
我使用WHM设置了5个用户,这反过来又创建了具有自己的主目录和public_html目录的linux用户。然后我启用了MATE Desktop和Tiervnc,这样每个开发人员都可以在vnc会话中连接到机器。
因此,基本上,这个设置是5个linux用户使用他们自己的apachevhosts,在同一个本地服务器上运行他们的IDE。
然后我使用pecl安装了Xdebug,现在我想在每个人的帐户上设置VSCode来使用Xdebug。我也在使用opcache。
当尝试使用VSCode时,我们似乎可以让调试器工作,但VSCode的控制台中没有输出。我在VSCode中安装了php调试器扩展。
此外,我们似乎遇到了VSCode无法处理include/request语句的问题。它总是说找不到它们。但这些文件确实存在,并且确实具有正确的读/写权限。
我真的不知道如何配置Xdebug和VSCode,让它们为所有使用VSCode的本地开发人员工作。我正在做的事情会起作用吗?我需要远程连接吗?我需要DBGp代理吗?Xdebug一次只允许一个调试会话吗?我需要为每个用户安装Xdebug吗?
有人能提供一些关于如何设置的指导吗?
感谢
我正在做的事情会起作用吗?
可能:-(
我需要远程连接吗?
在Xdebug方面,它是否是";远程";或者在同一台机器上,在这两种情况下都使用TCP/IP连接。";远程";在";远程调试器";Xdebug开发人员(我(总是用词不当。
我需要DBGp代理吗?
您不需要它。您需要能够做的是让每个用户启动到他们自己的IDE的调试会话。由于所有东西都在同一台机器上运行,所以不能只重用端口。Xdebug始终连接到相同配置的端口(默认情况下为9003
(。
有两种选择:
-
使用DBGp代理将Xdebug端口的传入连接定向到已注册的IDE。这些IDE中的每一个都已经向代理注册了密钥,因此代理知道将请求转发到哪里。您需要使用浏览器扩展,以便每个开发人员都可以将自己唯一的IDE密钥设置为Xdebug会话(cookie(值。
-
使用Xdebug Cloud,它将为您处理复杂的代理设置,开发人员只需再次通过浏览器扩展以及在IDE中设置他们的IDE密钥(或现在的Cloud密钥(。目前只有PhpStorm支持这一点。有可用的配置文档。
Xdebug一次只允许一个调试会话吗?
否。Xdebug支持每个PHP请求一个调试连接,但IDE可能不接受多个传入连接。PhpStorm和VS Code的调试插件都没有这个问题。
是否需要为每个用户安装Xdebug?
否。Xdebug是作为PHP的一部分安装的,并且由于您只有一个PHP安装,所以将Xdebug作为的一部分就足够了。