问题标签 [lando]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - Lando (docker) 总是重定向到同一个端口
创建后的每个应用程序都重定向到同一端口。
这是我的问题:
我使用 Lando,创建后的每个应用程序都重定向到同一个端口。
铁
Docker 使用 url http://localhost:32786创建应用程序,但在浏览器中打开它后,它会将我重定向到http://localhost:32797
此外,任何已启动和运行的项目都将被重定向到同一端口 - 32786。
lando - 让 Lando Web 服务器在 localhost:8000 上侦听
说来话长,但是由于之前配置了 3rd 方服务,如果我可以让 Lando 在端口 8000 上而不是分配的 docker 端口上监听会容易得多(例如,每次都不同)。我试过这样overrides
做
是否可以配置 Lando 以便我的 apache 服务器侦听端口 8000?
bash - Lando:环境变量的执行错误
我正在使用Lando(Windows 10 Enterprise 上的 v3.0.0-rc.21)并尝试在我的容器创建中设置环境变量.lando.yml
:
Lando 启动时似乎无法识别该命令,因为它抛出:
OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"export\": executable file not found in $PATH": unknown
同样的错误发生在lando ssh -c "export SOMENAME=somevalue"
或将其作为命令添加到.lando.yml
(见上文)中的工具部分,然后运行lando test
。
但是lando ssh
,在lando 启动后运行相同的命令可以正常工作:
这是兰多虫吗?或者某些(哪个?)shell命令应该以某种不同的方式调用?
docker - Lando - 配置的数据库未显示在 phpmyadmin 中
我在 Lando https://docs.lando.dev/中安装了 Drupal8 我在lando 文件中添加了 phpmyAdmin 服务问题是配置的数据库没有显示在 phpmyAdmin 中。
php - 在 Lando 环境中编辑后自动加载的 php 代码未更新
问题的症结在于我编辑了一个代码文件,而更改直到我重建整个环境后才生效。奇怪的是,到目前为止,我已经几个月没有遇到这个问题了。我刚决定在这周结束这个项目并继续工作,突然间编辑文件不再工作(没有重建)。
我什至不知道从哪里开始尝试解决这个问题。任何建议都会有所帮助,尤其是来自有使用 Lando 和 Docker 经验的人的建议。好吧,因为我不知道是什么原因造成的,所以我将尝试解释我的整个设置并从那里开始:
我正在使用 Lando 运行一个运行 PHP 7.3 的容器。当我 SSH 进入正在运行的容器并执行我的脚本时,php worker.php
我的脚本运行没有问题。然后,如果我编辑它,比如添加一个 var_dump('hello world!'),我会得到预期的输出。但是,如果我编辑一个自动加载的类文件,比如 MyClass.php,并在那里添加一个 var_dump,什么也不会发生。事实上,我必须完全重建环境lando rebuild
才能让 var_dump 显示出来。很奇怪吧?
好的,这是我尝试过的一些事情:
- 我试过重启 Docker。
- 我试过重新启动我的电脑。
- 我已经尝试过
lando destroy
重新lando rebuild
开始。 - 我已经尝试通过 SSH 进入容器并运行
cat mylib/MyClass.php
,我看到了添加的 var_dump 语句!!但是,当我运行php worker.php
添加到 MyClass 的 var_dump 时不存在。它如何存在于文件系统中,但在执行期间却不存在?这真的让我陷入了困境。 - 我尝试将 MyClass.php 重命名为 MyClass2.php ,这一次解决了这个问题。即在它更新之后,我需要在每次有变化时一次又一次地重命名它。这显然不是真正的解决方案,但值得深思。
- 我尝试使用手动加载类
include_once
。这非常有效,编辑一旦发生就会生效。问题是我不想手动包含我的所有文件,我想使用作曲家自动加载器。我已经使用它很长时间了,我宁愿修复它突然出现的任何问题。
好的,最后,我的一些理论:
- 有些东西显然是在缓存东西,但我不知道是什么。我想这可能与 PHP 操作码缓存有关,但据我所知,我没有启用 php 操作码缓存。
- 另一种理论是文件系统挂载可能不起作用。但是,它正在工作,因为当我编辑 worker.php 时,每次都会立即进行更改。如果没有文件系统挂载,则不会发生这种情况。
- 另一种理论是,要么 Docker 以某种方式缓存某些东西(我不知道怎么做),要么 Lando 是?我对兰多一无所知。也许它有某种我不知道的缓存方案。
- 最后一个理论是,自动加载的类以某种方式被 PHP 本身或我的作曲家或类似的东西缓存。我也不知道这是怎么可能的,但我不是作曲家或 php 内部工作的专家,所以如果这里涉及到代码缓存,我不知道。
所以我知道人们可能会要求一些东西:Dockerfile
.lando.yml
作曲家.json
更新:我发现通过删除vendor/symfony/console
然后运行composer install
它似乎清除了缓存。我希望我能从这里弄清楚,但答案仍然让我难以捉摸。symfony 控制台与自动加载缓存代码有什么关系?我不知道。
mysql - Lando - mysqldump:出现错误:2002:无法连接到本地 MySQL 服务器
我正在尝试通过 https://docs.lando.dev/config/drupal8.html#connecting-to-your-database上记录的lando 命令导出数据库
mysqldump:出现错误:2002:尝试连接时无法通过套接字“/opt/bitnami/mysql/tmp/mysql.sock”(111)连接到本地 MySQL 服务器无法创建文件:/app/database_backup.sql
这是lando info
docker - 我可以将一个lando 文件用于多个项目吗?
我有几个 github 存储库,我想配置并开始使用一个lando 文件?我必须使用多个lando 文件还是只能使用一个。
xdebug - 我无法使用 xdebug 配置lando
我正在尝试使用 Lando Drupal 站点设置 Xdebug。我尝试了很多不同的lando 配置,但无论我做什么,我都无法让xdebug 出现在我的phpinfo 中。我目前的配置是:
这是 .lando.php.ini 文件
这是 phpinfo() 的输出: phpinfo output
cmd - 将 Lando 添加到 git bash 配置文件
在 cmd 中我可以调用lando
但不能在 gitbash 中调用。
我知道可执行文件是 C:\Program Files\Lando\bin\lando.exe