我在Ubuntu 20.04
和lando 3.6.1
上。我有一个WordPress网站设置与兰多。一切正常,只是我无法使用以下命令导入SQL转储:
$ lando db-import ucoh-data.sql
转储文件位于lando应用程序的根目录。
当从命令窗口(CLI)运行时:
chown: cannot access '/app/ucoh-data.sql': No such file or directory
在PHPStorm终端内运行时:
lando db-import ucoh-data.sql
Lando should never ever ever be run as root...
___ __ ______
/ (_) /_____ ___ _ _____ ____/ / / /
/ / / '_/ -_) / -_) |/ / -_) __/_/_/_/
/_/_/_/_\__/ __/|___/__/_/ (_|_|_)
Process finished with exit code 77 at 18:21:33.
Execution time: 252 ms.
根据https://stackoverflow.com/a/66198677/1496518退出码77表示权限定义。我不明白是哪个特定的区域负责这个许可的事情!
我试图在谷歌上找到一个解决方案,但没有找到任何真正有用的东西,特别是对于我目前使用的Ubuntu版本。
更新:
我的PC上/usr/share/lando
目录的权限是
rwxr-xr-x 4 root root 4096 Nov 10 18:17 lando
我在安装Lando Drupal时遇到了类似的问题。
我通过将数据库导入命令直接添加到.lando中来解决这个问题。yml"tooling"(根据兰多文档https://docs.lando.dev/guides/db-import.html):
tooling:
'db-import <file>':
service: :host
description: Imports a dump file into a database service
cmd: /helpers/sql-import.sh
user: root
options:
host:
description: The database service to use
default: database
alias:
- h
no-wipe:
description: Do not destroy the existing database before an import
boolean: true
然后我运行lando rebuild
。之后,我可以导入我的数据库,没有错误。
我得到了同样的错误,这是导致我在appserver容器中覆盖/app
路径,但不是数据库服务器,所以数据库容器找不到它。我使用了下面的代码:
database:
# required for `lando db-import to work (file must be in myfolder folder)`.
app_mount: delegated
overrides:
volumes:
- '../myfolder:/app'