问题标签 [envoyer.io]

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.

0 投票
1 回答
156 浏览

php - Envoyer mkdir 问题

我们毫不费力地将Envoyer连接到我们的服务器。但是,如果我们要部署,我们会收到以下错误:

mkdir: 无法创建目录 '/FOLDERNAME': 权限被拒绝

但是,如果我们自己使用同一用户使用 SSH 登录到我们的服务器,我们可以毫无问题地运行 mkdir。

有谁知道是什么导致了这个问题?

服务器在Linux (CentOS)上运行

0 投票
1 回答
257 浏览

php - 升级 Laravel 5.6 的 Envoyer 部署失败引用不匹配的 PHP 版本

我刚刚从 Laravel 5.2 更新到 5.6,更新了所有需要的各种 composer,但是我最新的 Envoyer 部署在 Instal Composer Dependencies 阶段失败了。

我收到以下错误消息

在源代码控制中使用 Composer 存档。运行命令: php composer.phar install --no-interaction --prefer-dist 使用包信息加载 composer 存储库 更新依赖项(包括 require-dev) 您的需求无法解析为可安装的包集。

问题 1 - 此软件包需要 php ^7.1.3,但您的 PHP 版本 (7.0.20) 不满足该要求。

问题 2 - laravel/passport ^7.2 的安装请求 -> laravel/passport[v7.2.0] 可以满足。- laravel/passport v7.2.0 需要 php >=7.1 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。

问题 3 - laravel/framework v5.6.9 需要 php ^7.1.3 -> 您的 PHP 版本 (7.0.20) 不满足该要求。- laravel/framework v5.6.8 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.7 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.6 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.5 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.4 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.39 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.38 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.37 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.36 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.35 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.34 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.33 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.32 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.31 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.30 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.3 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.29 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.28 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.27 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.26 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.25 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.24 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.23 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.22 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.21 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.20 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.2 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.19 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.18 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.17 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.16 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.15 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.14 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.13 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.12 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.11 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.10 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.1 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.0 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.10 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.1 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.0 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.10 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.1 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。- laravel/framework v5.6.0 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。

  • laravel/framework 5.6.* 的安装请求 -> laravel/framework 可满足[v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5 .6.16、v5.6.17、v5.6.18、v5.6.19、v5.6.2、v5.6.20、v5.6.21、v5.6.22、v5.6.23、v5.6.24、v5.6.25、v5.6.26、v5.6.27 , v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5 .6.39、v5.6.4、v5.6.5、v5.6.6、v5.6.7、v5.6.8、v5.6.9]。

我的 composer.json 文件看起来像这样

}

我已经通过本地机器上的终端运行 composer update 并且锁定文件似乎已正确更新。

我看不出我做错了什么。谁能帮我吗?

谢谢

0 投票
1 回答
815 浏览

laravel - Symlink 通过部署脚本在 Laravel Envoyer 中上传文件夹

我有一个部署到 AWS 的 laravel 项目。最近我想到了使用 Envoyer 进行零停机部署。

我的项目有一个上传目录,用户上传是通过代码添加的。当然,这不是在 git 中添加的。

因此,当特使部署代码时,我必须将我的上传文件夹符号链接到当前目录。我添加了一个部署脚本(激活新版本后):

当特使部署时,我得到了符号链接,但目录类似于:

而实际的目录是这样的:

(注意上面的输出是上传目录中的 ls 命令)

我不明白为什么符号链接有另一个名为 uploads 的目录,而图像和音频文件夹是空的。顺便说一句,在上传符号链接的内部创建的奇怪的新上传文件夹实际上具有正确的结构。但这不是我需要的,我需要在其中包含适当文件的音频和图像文件夹。

我试过什么?

我 ssh 到服务器并运行与我为 envoyer 添加的命令相同的命令,这正在正确创建符号链接。但是为了自动化,我实际上需要在 Envoyer 部署挂钩中拥有它。

任何人有任何想法?我想部署符号链接钩子应该是 Envoyer 中的一种常见做法。

0 投票
1 回答
90 浏览

php - 使用 Laravel 5.8 部署到生产环境会删除我的公共上传存储目录

我正在 Laravel 5.8 上构建我的第一个站点,并且大多数情况下都可以正常工作。我可以创建一个新帖子,上传一张照片,点击保存,记录会保存到数据库中,我可以在我的视图、图像和所有内容中看到帖子数据。我将我的更改推送到我的生产服务器,创建一个新的帖子、图像等……一切似乎都很好。直到,我从本地环境推送另一个更改,然后我意识到我的 public/uploads 目录已被清除,并且任何上传到 Post 的图像都有一个损坏的图像链接。

我的设置

Laravel 5.8(本地和生产)、MySql 5.7(本地和生产)、Valet(本地)、Push to Bitbucket、Envoyer拉取更改和自动部署、通过Forge设置的 Digital Ocean Droplet

文件系统.php

PostController.php

0 投票
1 回答
341 浏览

laravel - Laravel 通过 Envoyer 部署到 Cpanel

我有一个运行 WHM 和 Cpanel 的 VPS。我在那里托管了多个域。说其中之一是example.com

我打算做的是有两个版本的应用程序。生产:example.com>/public_html/ 开发:staging.example.com>/public_html/staging/

现在,我正在尝试将我的应用程序部署到开发环境,即部署到暂存文件夹。

Envoyer 与我的托管服务提供商进行了很多斗争,工作正常。它正在按预期上传文件。现在唯一的问题是符号链接current

现在文件夹结构是:

我的子域清楚地指向暂存文件夹,这将导致它显示文件夹的所有内容而不是应用程序。

由于应用程序位于发布文件夹中,我如何确保我的应用程序在我们点击子域时运行。

我必须在 Apache 中修改我的虚拟主机文件吗?

0 投票
0 回答
75 浏览

php - 通过 Envoyer 部署后文件更改未反映

我正在使用 Envoyer,当我使用 Envoyer 将项目部署到实时服务器时,没有发生更改。但是当我从 Forge 重新启动 PHP 服务器时,它工作了。我在挂钩中使用了自动重启 PHP 服务器的任何命令吗?我正在使用 AWS 服务器。任何帮助将不胜感激。

0 投票
0 回答
71 浏览

laravel - Laravel 8 - Envoyer 和 Homestead 部署问题

所以我使用 Laravel Homestead 进行本地开发。我选择为每个项目而不是全局安装它,以便在我的 git 存储库中跟踪我的所有 Homestead 配置文件。为了保持我的存储库干净,我选择将整个 Laravel 应用程序放入一个名为“code”的子目录中。

然而,当我尝试通过 Envoyer 部署我的应用程序时,这给我带来了挑战。似乎 Envoyer 假设 Laravel 应用程序文件位于存储库的根目录中。因此,当它尝试部署时会失败。

我一直在四处寻找,似乎找不到任何方法可以向 Envoyer 指定我的 Laravel 应用程序文件不在存储库的根目录中,而是在“代码”目录中。任何帮助将不胜感激!

存储库结构:

0 投票
1 回答
281 浏览

php - 升级到 Laravel 8 后的 Guzzle/Nexmo 问题

我最近对这个网络应用程序进行了相当大的更新,并且在大多数情况下它顺利进行了......直到应用程序尝试从登台/生产发送短信通知。

从 laravel 7.x 升级到 8.x 非常简单直接。同时我们也安装了 Laravel Horizo​​n。一切都按计划进行,并且在本地一切正常。

但是,当我们部署到登台/生产时,排队的 SMS 通知会失败,并出现以下异常:

ReflectionException:/home/forge/dev.example.com/releases/20210609194554/vendor/laravel/framework/src/Illuminate/Container/Container.php:836 中不存在类 Http\Adapter\Guzzle6\Client

查看堆栈跟踪,我们可以看到 Nexmo 是罪魁祸首:

#5 /home/forge/dev.example.com/releases/20210609194554/vendor/nexmo/laravel/src/NexmoServiceProvider.php(150): Illuminate\Foundation\Application->make()

然而,在我们的 composer.json 文件中,我们需要 Guzzle 7 具有以下内容:

"guzzlehttp/guzzle": "^7.3",

在这一点上再次值得一提的是,我在本地发送 SMS 没有问题,本地和暂存环境的主要区别在于,我在本地使用 Laravel Valet,而 Staging 使用 Laravel Envoyer。

到目前为止我已经尝试过:

  • 更改"guzzlehttp/guzzle": "^7.3""guzzlehttp/guzzle": "^6.5|^7.3"
  • 手动运行php artisan horizon:purgephp artisan horizon:terminate在部署挂钩中运行。
  • 在 forge 上重新启动 laravel Horizo​​n 守护进程。
  • php artisan queue:restart
  • 跑步composer dump-autoloadcomposer dump-autoload -o
  • 从 current/ 中删除 composer.lock 和 vendor/ 目录,然后运行composer install
  • 重新启动 PHP、Nginx,并最终重新启动整个服务器 :(

和更多...

任何帮助是极大的赞赏

更新如下:

完整的composer.json:

此外,我的 nexmo 配置文件没有任何用于 http_client 的内容,也许这是我错过的升级步骤。因此,对于nexmo 的http_client,我的.env 文件中没有任何内容。我也将开始研究这个。

nexmo.php