PHP plugin - cannot easily run multiple versions concurrently

未关闭
#2,720 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
go, nginx, php
领域
devtools

调研方向

Start by reading the PHP plugin and the automatic plugin-inclusion mechanism; the issue does not identify their file paths, so locate them in the repository. Then determine how package versions select plugins and how version-specific environment variables affect process-compose. Done means multiple PHP versions can run concurrently with the appropriate plugins and the behavior is covered by tests.

由索引模型根据 Issue 内容生成。

描述

feature looks hard p3 processed triage
What problem are you trying to solve?

Hello,

Use case
I want to build a dev stack for our dev team based on devbox. The full featured application is micro-services oriented, so running a fully working application requires to run multiple smaller projects simultaneously. Those applications are mostly in PHP, but the required versions are not always the same. To avoid running a devbox for each project, which would be perfect to manage versions but hard to orchestrate and resource consuming (n web server process and m PHP FPM while 1 web server and less PHP FPM are really required).

What I am willing to achieve
A single stack built on devbox running a single web server (nginx) and multiple PHP-FPM to run all micro-services simultaneously from a centralized.

What makes it hard
Currently, when a PHP package is added, the generic PHP plugin is enabled. If another PHP package is added, the same plugin is used and that forbids to run concurrent PHP FPM servers with process-compose.

Good to know
Devbox is great, I love it :)

What solution would you like?

Solution : Split the official PHP plugin into PHP plugins by version

Duplicate the official PHP plugin : one per version (probably minor versions : 7.4, 8.0, 8.1, ...)
Each plugin has then to be modified to use version specific env vars.
I guess that is the main change on the plugin itself.
The other modification is probably to be done on the automatic plugin inclusion mechanism that should include the right plugin depending on the adde PHP package version (I do not know how that is done at the time and cannot evaluate the impact of such a change).

Main advantage : It would benefit to all devbox users.

Of course, I would be glad to participate actively to the implementation.

Alternatives you've considered

Selfish solution : create my own private plugins based on the official PHP plugins

I guess I would :

  • create thoses plugins by version in a private repo
  • disable php plugin
  • include manually the plugins by version in the full stack devbox config
主要语言
Go
星标
12.4k
派生
358
平均合并
17 小时 12 分钟
30 天内合并 PR
31

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

jetify-com/devbox 的其他 Issue

查看 jetify-com/devbox 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。