当连接来自停靠容器时,PhpStorm xdebug找不到文件

本教程将介绍当连接来自停靠容器时,PhpStorm xdebug找不到文件的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

当连接来自停靠容器时,PhpStorm xdebug找不到文件 教程 第1张

问题描述

我正在尝试将我的Magento开发环境移到docker。我已经从this即可使用解决方案开始。除了xdebug之外,几乎所有内容都工作正常。

我已经根据this tutorial设置了PhpStorm,并且我已经正确地将我的本地项目目录映射到服务器部分的docker卷上。当我尝试开始调试时,调试器窗口中出现此消息

在本地找不到文件"/var/www/html/pub/index.php"。
要解决此问题,请通过环境变量PHP_IDE_CONFIG设置服务器名称,然后重新启动调试会话。

我已添加此

environment:
  - PHP_IDE_CONFIG=serverName=Magetwo

到php部分中的docker-compose.yml,但仍然是相同的错误。只有当我的项目位于主机上的相同目录(如容器卷中)时,调试才有效,但我希望有不同的目录。

我应该更改哪些内容才能强制xdebug工作?

推荐答案

尝试使用docker在PHPStorm上调试时也存在同样的问题。

您可以通过向nginx配置添加server_name来解决此问题:

server_name _;应设置为默认服务器名称_。您还可以添加另一个服务器名称,从而导致PhpStorm添加一个新的PHP服务器(设置:PHP&>服务器),并将其用作Nameserver_name _ MyProject;

server {
 listen 80;
 ### Add the following line to nginx config file ###
 server_name  _  AnotherServerNameForPhpStorm;
 index index.php index.html;
 error_log  /var/log/nginx/error.log;
 access_log /var/log/nginx/access.log;
 root /var/www/public;
 location ~ .php$ {
  try_files $uri =404;
  fastcgi_split_path_info ^(.+.php)(/.+)$;
  fastcgi_pass app_bug:9000;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  include xdebug/remote.conf;
 }
 location / {
  try_files $uri $uri/ /index.php?$query_string;
  gzip_static on;
 }
}

希望这能帮助某人仍然对我有同样的问题

好了关于当连接来自停靠容器时,PhpStorm xdebug找不到文件的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。