0

我编写了一个从终端运行的 Envoy 任务。现在我在我的应用程序中创建了一个视图,通过按一个按钮来运行它。问题是,在我的用户运行特使之前,但现在它正在使用尚未从 Composer 安装特使的 nginx 用户运行,我收到此错误:

sh: 1: /home/vagrant/.config/composer/vendor/bin/envoy: not found

我该如何解决这个问题?

4

1 回答 1

1

如果你在composer require laravel/envoy不使用全局标签的情况下运行,你会发现 envoy 安装在 web 服务器可以访问的 vendor 文件夹中。

要运行任务,请使用供应商文件夹中特使的路径。例如,

$command = base_path().'/vendor/bin/envoy run mytask';

您可以通过一个进程运行它,例如$process = new Process($command);该进程将以 Web 服务器使用的任何用户身份运行,在您的情况下为 nginx。

于 2017-09-14T16:30:17.437 回答