问题标签 [php-deployer]

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 回答
330 浏览

composer-php - 如何限制 PHP Deployer 作曲家的内存?

我正在为来自 docker-compose 的 magento 应用程序运行 PHP 部署程序。apache 在容器内,php 有内存限制。如果需要,我可以控制 Dockerfile。

目前我的问题是当我运行dep deploy它时崩溃:

如果我在容器内运行 composer 行并添加无限的内存,它可以工作:

我试图强制部署者以这种方式使用作曲家,但没有奏效:

我认为这是因为从详细日志中可以看出,它composer在执行操作时没有使用集合中的 :deployer:vendors

任何建议如何解决这个问题?

0 投票
2 回答
199 浏览

php - 部署者:'composer install' - 找不到命令

我正在使用部署器在服务器上打包一个 symfony 应用程序。在部署期间,我还需要运行 composer install 来运行 bin/console 等重要命令。只有这样才能完成部署。不幸的是,部署失败并在“composer install”处中断并显示错误消息:

这是 deploy.php 中的任务看起来:

但是,如果我通过 CLI 直接在服务器上运行命令“composer install”,它就会运行。有什么问题,我该如何解决?

部署程序版本 6.8。PHP 版本 7.2

非常感谢

0 投票
0 回答
95 浏览

php - 部署者如何部署最新的发布版本

我使用部署器来部署我的 Laravel 项目。像下面

但是部署者将从主分支部署代码,我想要的是部署最新版本分支的代码。

我怎样才能做到这一点?我阅读了文档,但没有任何帮助。非常感谢!

0 投票
1 回答
273 浏览

php - Git 无法通过 ssh Deployer 克隆项目

我正在使用 Deployer 将项目克隆到服务器上,但尽管设置了部署密钥,但由于某种原因,通过 SSH 克隆失败:

我采取的步骤:

  1. 在我正在克隆我的项目的服务器上生成新密钥:ssh-keygen -t rsa -b 4096 -C "your_email@example.com",我的密钥文件在这个 forat:form_simple_id_rsa中,当然还有 pub 版本。
  2. 做了eval并添加了密钥:ssh-add -k ~/.ssh/form_simple_id_rsa
  3. 测试了连接,一切都很好。
  4. 将密钥添加form_simple_id_rsa.pub到我的存储库作为部署密钥,存储库所有者不是我的帐户,我是此存储库的协作者,但服务器的密钥已链接到项目,因此它应该能够克隆。
  5. 在我的项目中设置部署程序以使用我的主机、端口和我制作的新密钥(因为有几个密钥)等:
  1. 尝试部署,得到一个错误的退出代码:

ssh -A -tt命令失败。

0 投票
0 回答
91 浏览

laravel - 运行任何 PHP Artisan/Composer 命令都会返回错误

当我遇到此错误时,我正在尝试将我的 Laravel 应用程序部署到登台服务器

起初我以为只是因为 Laravel 将 DateHelper 的路径识别为 App/Helpers/DateHelper.php 而不是 app/helpers/DateHelper.php,所以我尝试将 composer.json 的自动加载中的路径名从“App”更改为“应用程序”。更改后,我尝试通过运行 php artisan config:cache 清除缓存,然后出现此错误。

当我运行任何 composer 命令(composer install、update 或 dump-autoload)时也是如此。按照这篇文章的建议,我尝试在我的项目的 bootstrap/cache/ 文件夹中搜索 config.php 文件,但该文件夹结果为空。更糟糕的是,运行 php artisan 或任何 php artisan 命令也会导致相同的 PHP 致命错误。关于造成这种情况的任何想法?

先感谢您。

0 投票
0 回答
526 浏览

php - 在符号链接部署中启用 Opcache 文件缓存时导致段错误的原因是什么?

我正在使用 PHP 部署程序,它是一个基于符号链接的部署工具,它在部署后调用 opcache:reset。

最近,我在部署后的 PHP-FPM 进程中遇到了段错误。

这表现为输出 PHP 日志/内存耗尽警告中的段错误或来自 Apache 的 500/503 错误。

这多年来一直运作良好,所以我很难理解是什么导致了现在发生这种情况。

在第一个段错误之后,我可以在受影响池的每次页面刷新时重现此问题。

如果我重新启动 PHP-FPM 进程,页面第一次正确提供,然后我得到一个段错误。

我怀疑这与 Opcache 有关,因为如果我删除 Opcache 缓存文件并重新启动 PHP-FPM,问题就会消失。如果我禁用 opcache.file_cache,再次没有问题。请注意,我并不是专门使用文件缓存。

当我(不科学地)检查内存耗尽错误期间 PHP 报告的文件的 opcache 版本时,我注意到它们似乎被截断或丢失了存在于未发生段错误的以前版本的 opcache 文件中的数据。当我删除那些特定的 opcache 文件并重新启动 PHP-FPM 时,问题就消失了。所以,我认为,opcache 文件似乎在部署之间被破坏了。

环境:

  • CentOS 7.9.2009
  • PHP 7.4.15
  • 每个池都配置为在自己的用户下运行
  • Opcache 文件存储在 /var/www/vhosts/[project]/opcache
  • SELinux 已启用

我的 opcache 配置:

核心转储:

SELinux 审计日志

我真的很感激任何关于可能出错或如何进一步调试的指示。

0 投票
0 回答
56 浏览

php - 已部署的 Laravel 8 应用程序显示 /Dir 的索引

我已经在具有多个服务器块和多个域的数字海洋服务器上部署了 laravel 8 应用程序,所有其他域都可以正常工作,因为它们不是 laravel 应用程序。我按照本教程https://www.digitalocean.com/community/tutorials/automatically-deploy-laravel-applications-deployer-ubuntu 一切正常。这意味着我设法成功部署。但是当我访问域名时。它显示/目录的索引,目录为 current, shared,release

我也遵循了这个https://deployer.org/docs/how-to-deploy-laravel.html我必须编辑我etc/nginx/sites-available/example.co.vx的指向current/public文件夹。目前文件看起来像这样

我仍然有同样的问题。所以我认为这是我的 apache2 服务的问题,所以我编辑了我的 VirtaulHost 文件/etc/apache2/sites-enabled/example.co.vx.conf ,它现在看起来像这样

这一切都是徒劳的,我仍然有同样的错误。

到目前为止,当我像这样导航 url 时, /var/www/example.co.vx/public_html/current/public/index.php我可以查看页面,但它不会加载图像和其他文件和页面。

我查找了类似的问题,但没有一个能够解决我的问题。

0 投票
0 回答
417 浏览

github-actions - 使用带有 github 操作的部署器来部署私有存储库

我正在尝试使用 github 操作部署 PHP 项目

目标服务器上的连接有效,但是当部署者尝试克隆存储库时,我陷入了困境。

为了访问服务器,我在 github 密钥中存储了一个私有 ssh 密钥,并且我尝试使用相同的 ssh 密钥来访问 github 存储库(该密钥已添加到存储库的部署密钥中)。

这里失败的命令:

Deployer 在我的本地环境中工作。我可以使用我的个人 SSH 密钥和我拥有的密钥来连接到目标服务器。

这是我的 github yml 文件:

是否有一些额外的步骤可以在部署器中克隆存储库?

预先感谢 !

0 投票
0 回答
22 浏览

laravel - 使用 Deployer 成功部署我的 laravel 应用程序后,我收到 403 Fobidden 错误

我成功地将我的 laravel 应用程序部署到 app.example.com,使用 windows 上的部署程序(我的意思是我的本地 pc),该应用程序部署到运行在 Linux 上的具有 LEMP 堆栈配置的 VPS 服务器。如下图所示,部署没有错误;但是,当我尝试访问 app.example.com 时,出现 403 错误。我该如何解决这个问题?有什么帮助吗?

成功部署的快照

禁止错误的快照

0 投票
1 回答
50 浏览

laravel - gitlab CI/CD 部署 laravel 项目

我想通过 ci/cd gitlab 部署我的 laravel 项目,我在部署我的项目时遇到了问题。我正在尝试通过 gitlab CI 将我的 laravel 项目部署到 cpanel。我在这个项目中使用部署程序包,但是当我将提交推送到 gitlab 时,管道失败了。

当我将提交推送到 gitlab 并在管道 错误图像中出现此错误时出现此错误

这是我的 deploy.php 代码

这是我的 gitlab-ci.yml 代码