当连接来自停靠容器时,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&>服务器),并将其用作Name
:server_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;
}
}
希望这能帮助某人仍然对我有同样的问题
相关文章