使用PHPStorm和x2B调试远程(DigitalOcean)Lando站点(drupal8配方);Xdebug
我正在尝试远程运行Lando,以避免消耗本地资源。有时我需要在笔记本电脑上工作,而lando+xdebug是一只饥饿的野兽 本地使用PHPStorm和x2B调试远程(DigitalOcean)Lando站点(drupal8配方);Xdebug,xdebug,digital-ocean,drupal-8,lando,Xdebug,Digital Ocean,Drupal 8,Lando,我正在尝试远程运行Lando,以避免消耗本地资源。有时我需要在笔记本电脑上工作,而lando+xdebug是一只饥饿的野兽 本地 name: XXXXXX recipe: drupal8 config: php: 7.1 webroot: ./docroot xdebug: false // overridden later services: appserver: build: - composer install ruby: type: rub
name: XXXXXX
recipe: drupal8
config:
php: 7.1
webroot: ./docroot
xdebug: false // overridden later
services:
appserver:
build:
- composer install
ruby:
type: ruby:2.4
run:
- "cd $LANDO_MOUNT && gem install compass"
tooling:
blt:
service: appserver
cmd: /app/vendor/acquia/blt/bin/blt
gem:
service: ruby
compass:
service: ruby
fix-compass:
service: ruby
cmd: "gem install compass"
我没有在本地运行Lando。我正在使用PHPStorm同步我的文件,Lando正在远程运行
远程
我有一个DigitalOcean droplet建立并运行一个Lando(drupal8)站点。我可以访问该网站,该网站在以下位置正常运行:
165.xxx.xxx.xxx,为液滴的IP,且
ppppp,是Lando(docker)暴露容器的端口
.lando.yml
name: XXXXXX
recipe: drupal8
config:
php: 7.1
webroot: ./docroot
xdebug: false // overridden later
services:
appserver:
build:
- composer install
ruby:
type: ruby:2.4
run:
- "cd $LANDO_MOUNT && gem install compass"
tooling:
blt:
service: appserver
cmd: /app/vendor/acquia/blt/bin/blt
gem:
service: ruby
compass:
service: ruby
fix-compass:
service: ruby
cmd: "gem install compass"
.lando.local.yml
name: XXXXXX
recipe: drupal8
config:
php: 7.1
webroot: ./docroot
xdebug: false // overridden later
services:
appserver:
build:
- composer install
ruby:
type: ruby:2.4
run:
- "cd $LANDO_MOUNT && gem install compass"
tooling:
blt:
service: appserver
cmd: /app/vendor/acquia/blt/bin/blt
gem:
service: ruby
compass:
service: ruby
fix-compass:
service: ruby
cmd: "gem install compass"
因为我不想让我的开发伙伴使用这个配置
config:
xdebug: true
config:
php: .lando.php.ini
.lando.php.ini
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 0
xdebug.remote_host = localhost
xdebug.remote_port = 9002
xdebug.remote_log = /xdebug.log
xdebug.remote_mode = req
xdebug.idekey = PHPSTORM
PHPStorm服务器
- 主机:本地主机
- 港口:9002
- 调试器:Xdebug
- 使用路径映射(选中)
--
-->项目
/app
http://165.xxx.xxx.xxx:ppppp
- 使用
,我可以看到xdebug正在端口9002上正常运行(我所有的php.ini配置都已设置)李>lando php-i
- 通过使用
,我还可以判断SSH tunnel应该为9002打开nc-zlocalhost 9002 | | echo'no tunnel open'
- 我没有收到任何关于传入连接的提示
sudo iptables-A INPUT-p tcp-d 0/0-s 0/0-dport 9002-j ACCEPT
然而,现在我得到了这个错误
Log opened at 2019-08-20 02:54:17
I: Connecting to configured address/port: 165.xxx.xxx.xxx:9002.
W: Creating socket for '165.xxx.xxx.xxx:9002', poll success, but error: Operation now in progress (29).
E: Could not connect to client. :-(
Log closed at 2019-08-20 02:54:17
所以今年我已经经历过几次了。我最初在几周前通过将PHPSTORM从2018.1升级到2019.1解决了这个问题。有人告诉我(在互联网上的某个线程上),下一个版本的xdebug的XML模式是不同的。它在更新后立即起作用。这似乎在2019年再次打破。2 我最后一次让它工作是2019.1.3。祝你好运 更新:当我继续更新storm和php/xdebug时,我发现这已经稳定下来了。有一阵子到处都是