php - PhpStorm + Docker + Xdebug + DB SSH隧道

标签 php docker phpstorm xdebug ssh-tunnel

在本地,我有以下docker-compose配置:

nginx:
  build:
    context: ./nginx
  ports:
    - "80:80"
  volumes:
    - ./../logs:/home/web/logs/
    - ./../:/home/web/my-website.com/
  depends_on:
    - php
php:
  build:
    context: ./php
  volumes:
    - ./../:/home/web/my-website.com/
  working_dir: /home/web/my-website.com/
  expose:
    - "8123"
php容器已安装Xdebug,可以从PhpStorm轻松连接到它。

我有通过SSH隧道连接的远程ClickHouse数据库。当启动容器时,我只是进入容器并执行:
ssh -4 login@host.com -p 2211 -L 8123:localhost:8123 -oStrictHostKeyChecking=no -Nf

之后,我的站点可以使用此连接,但是当我执行控制台命令时
./yii analysis/start-charts 003b56fe-db47-11e8-bcc0-52540010e5bc 205

来自PhpStorm的一个异常(exception):
Failed to connect to 127.0.0.1 port 8123: Connection refused

如果我跳入容器并启动相同的命令,则一切正常。

怎么了?为什么PhpStorm没有看到我的SSH隧道?

最佳答案

我已经在“ super 用户”站点上找到了答案:https://superuser.com/questions/1374463/phpstorm-docker-xdebug-db-ssh-tunnel/1375961#1375961

此外,我在ports容器定义中添加了php节点,现在如下所示:

  php:
    build:
      context: ./php
    volumes:
      - ./../:/home/web/my-website.com/
    working_dir: /home/web/my-website.com/
    expose:
      - "8123"
    ports:
      - "8123:8123"
    depends_on:
      - redis
      - mysql

关于php - PhpStorm + Docker + Xdebug + DB SSH隧道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53249075/

相关文章:

php - 如何编写这个复杂的 MySQL 查询

php - .htaccess RewriteRule 500 内部服务器错误

docker - 使用Kubernetes启动容器时如何传递Docker CLI参数

PhpStorm 插入当前命名空间

sass - PhpStorm:SCSS文件监视程序设置

php - 更新到 Laravel 7 php artisan 后无法正常工作

linux - Docker 从部分图像中理解

docker - Docker-无法从容器内部ping主机子网上的任何内容

phpstorm - PhpStorm 中的多条垂直线以获得最大行长

PHP session 和表单操作