Conditional Runtime PHP Extension loading
まだ誰も着手していません。
- 主要言語
- C
- スター
- 40.4k
- フォーク
- 8.2k
- 平均マージ
- 2日 13時間
- マージ済み PR(30日)
- 96
説明
Description
I would like to build a docker container with various PHP extensions and be able to toggle them off with environment variables. (OpenTelemetry / XDebug / Tideways / Blackfire does not like each other). Of course I can build various tags, but it's an hassle of CI managment.
The solution who most people are doing is to use the docker entrypoint to move files to disable loading of extensions. This does not work when the container is read-only. Therefore I would suggest to have some kind of environment variable to disable / enable extension on the fly.
Several ideas I had so far:
in php.ini
{if hasEnv("FOO")}
extension=foo.so
{/if}
so we can toggle even php.ini settings
or a simple
PHP_EXTENSIONS_DISABLE=opentelemetry
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
この issue では、実装ファイル、テスト、エントリーポイントが指定されていません。まず PHP の拡張機能の読み込みと設定処理を追跡し、次に、提案されている php.ini の条件分岐を含め、環境に基づく有効化または無効化をどのように機能させるべきかを決定してください。読み取り専用コンテナと実行時の拡張機能切り替えに対応した合意済みの設計が実装され、カバーされれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- c, php
- 領域
- backend
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100