gpt4 book ai didi

Laravel 特使 on fortrabbit

转载 作者:行者123 更新时间:2023-12-02 13:57:22 24 4
gpt4 key购买 nike

我在 Fortrabbit 服务器上设置了一个 Laravel 应用程序。我可以做到以下几点

$ ssh user@server
$ cd htdocs
$ php artisan migrate

效果很好。

但我正在尝试将 Envoy 用于此类任务。所以我做了一个简单的任务:
@servers(['test' => 'user@server'])

@task('task:test', ['on' => 'test'])
cd htdocs
php artisan migrate
@endtask

但是,这样做时我遇到了以下问题:
$ envoy run task:test

[user@server]: \(><)/ Welcome to the rabbit hole. \(><)/
[user@server]: [PDOException] SQLSTATE[HY000] [2002] No such file or directory

可能值得注意的是,db 连接使用来自 Fortrabbit 接口(interface)中设置的 ENV 变量的凭据。如果我通过 SSH 连接到服务器并执行 env ,所有变量都按原样列出。但是做的时候
$ ssh user@server env

我只得到 Fortrabbit 服务器 ENV 变量的一小部分。

我无法弄清楚错误的原因可能是什么,并且在询问 Google 时我也找不到任何东西。有人可以对此有所了解吗?非常感谢。

最佳答案

正如@ukautz 所说, session 脚本不是由特使执行的,这就是为什么缺少一些环境变量的原因。

这是我所做的:

@servers(['dev'=>"<<user@server>>"])
@task('list')
. /etc/profile.envvars
env
@endtask

这显示了所有 ENV 变量,包括您在仪表板上设置的变量!

您的脚本应该与此一起使用:
@servers(['test' => 'user@server'])
@task('task:test', ['on' => 'test'])
. /etc/profile.envvars
cd htdocs
php artisan migrate
@endtask

关于Laravel 特使 on fortrabbit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23242937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com