を無効にするために、私はPHPのAPIに取り組んでいると私はなど、私のPHP-FPM画像内の未使用のPHPモジュールにを無効にしたい「PDO、sqlite3の..」。ドッカー - どのようにPHPのEXT /モジュール
私はドッカーの初心者です。未使用のPHPモジュールを無効にするためのベストプラクティスでない場合は、docker-php-ext-enable
に類似するものがあるかどうかを知りたいと思います。
を無効にするために、私はPHPのAPIに取り組んでいると私はなど、私のPHP-FPM画像内の未使用のPHPモジュールにを無効にしたい「PDO、sqlite3の..」。ドッカー - どのようにPHPのEXT /モジュール
私はドッカーの初心者です。未使用のPHPモジュールを無効にするためのベストプラクティスでない場合は、docker-php-ext-enable
に類似するものがあるかどうかを知りたいと思います。
はい、可能です。例えばhttps://hub.docker.com/_/php/
から撮影
あなたが
iconv
、mcrypt
とgd
拡張子を持つPHP-FPMイメージを持つようにしたい場合は、あなたが好きなベースイメージを継承し、独自のDockerfileなどを書くことができますこの:
FROM php:7.0-fpm
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
&& docker-php-ext-install -j$(nproc) iconv mcrypt \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
は覚えておいてください、あなたが手動で拡張機能の依存関係をインストールする必要があります。拡張機能にカスタムの
configure
引数が必要な場合は、この例のようにdocker-php-ext-configure
スクリプトを使用できます。
これをインストールした後で、無効化またはアンインストールする方法はありますか? –
最後に、私は重要な点を発見しました。
ドッカーのPHPコンテナの中には、登録されているすべてのモジュールが、以下のパスの設定ファイルによって保持されています。
docker exec -it php_container_name bash
あなたはphp -m
ですべて対応モジュールを一覧表示することができます:
そして、そのフォルダにcd
、あなたは関連する設定ファイルを見ることができる容器に
/usr/local/etc/php/conf.d/*.ini
bash
cd /usr/local/etc/php/conf.d/
ls
# output
docker-php-ext-mcrypt.ini docker-php-ext-mysqli.ini
docker-php-ext-opcache.ini opcache-recommended.ini
docker-php-ext-zip.ini
一部の内線を無効にするにはensionモジュールは、disabled
ディレクトリを作成し、例えば、その中にその.ini
ファイルを移動:
mkdir disalbled
mv docker-php-ext-opcache.ini disabled
mv opcache-recommended.ini
最後に、プレス
Ctrl+D
は、コンテナを終了し、その後、変更を動作させるために、コンテナを再起動します。
docker restart php_container_name
あなたは、コンテナに入ると、関連する拡張機能がなくなっている見ることphp -m
を実行することができます。
mkdir disalbledというタイプミスがあります。編集には少なくとも10文字の編集が必要なので、変更できません。 –
'php.ini'ファイルはどうですか? – JustOnUnderMillions
https://hub.docker.com/_/php/ – JustOnUnderMillions
私は/ usr/local/etc/phpにカスタムphp.iniファイルを持っています。何をお勧めしますか?私は上記のリンクに役立つものは何も見つかりません。phpにはいくつかのデフォルトモジュールが付属しており、それらのいくつかを無効にしたいと思います。 –