沃梦达 / 编程问答 / php问题 / 正文

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

PhpStorm xdebug can#39;t find file when connection comes from docker container(当连接来自停靠容器时,PhpStorm xdebug找不到文件)

本文介绍了当连接来自停靠容器时,PhpStorm xdebug找不到文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将我的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找不到文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:当连接来自停靠容器时,PhpStorm xdebug找不到文件

基础教程推荐