php / php/php-src

Conditional Runtime PHP Extension loading

オープン
#19,812 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Feature Status: Needs Triage
主要言語
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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

この issue では、実装ファイル、テスト、エントリーポイントが指定されていません。まず PHP の拡張機能の読み込みと設定処理を追跡し、次に、提案されている php.ini の条件分岐を含め、環境に基づく有効化または無効化をどのように機能させるべきかを決定してください。読み取り専用コンテナと実行時の拡張機能切り替えに対応した合意済みの設計が実装され、カバーされれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
c, php
領域
backend
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。