このリポジトリには、公式のPHP Docker画像内にPHP拡張機能を簡単にインストールするために使用できるスクリプトが含まれています。
スクリプトは、必要なすべてのAPT/APKパッケージをインストールします。スクリプトの実行の終わりに、画像がはるかに小さくなるように、必要なパッケージが削除されません。
サポートされているDocker画像は次のとおりです。
特別要件セクションのメモも参照してください。
Dockerfile
s内でこのスクリプトを使用する多くの方法があります。
GDおよびXDEBUG PHP拡張機能をインストールするサンプルDockerfile
Sのリストを次に示します。
ADD
でスクリプトをその場でダウンロードします FROM php:7.2-cli
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN install-php-extensions gd xdebug
curl
でスクリプトをその場でダウンロードします FROM php:7.2-cli
RUN curl -sSLf
-o /usr/local/bin/install-php-extensions
https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions &&
chmod +x /usr/local/bin/install-php-extensions &&
install-php-extensions gd xdebug
curl
で直接実行 FROM php:8.2-cli
RUN ( curl -sSLf https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions -o - || echo 'return 1' ) | sh -s
gd xdebug
FROM php:7.2-cli
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions gd xdebug
警告:この方法を使用するとmlocati/php-extension-installer
画像の古いバージョンを使用できます。最新のバージョンを使用するために、 docker pull mlocati/php-extension-installer
実行することをお勧めします。
RUN --mount=type=bind,from=mlocati/php-extension-installer:latest,source=/usr/bin/install-php-extensions,target=/usr/local/bin/install-php-extensions
install-php-extensions gd xdebug
警告:この方法を使用するとmlocati/php-extension-installer
画像の古いバージョンを使用できます。最新のバージョンを使用するために、 docker pull mlocati/php-extension-installer
実行することをお勧めします。
モジュール名に-<version>
を追加するだけです。例えば:
install-php-extensions xdebug-2.9.7
このスクリプトは、バージョンにCARET( ^
)をプレフィックスすることにより、互換性のあるバージョンの解決もサポートしています。例えば:
# Install the most recent xdebug 2.x version (for example 2.9.8)
install-php-extensions xdebug-^2
# Install the most recent xdebug 2.8.x version (for example 2.8.1)
install-php-extensions xdebug-^2.8
上記の構文を使用すると、不安定な最新のバージョンがさまざまであることに注意してください。最新の安定したバージョンをインストールするには、 @stable
を追加できます。
# Install the most recent STABLE xdebug 3.x version (for example 3.2.2)
install-php-extensions xdebug-^3@stable
(有効なサフィックスは: @snapshot
、 @devel
、 @alpha
、 @beta
、 @stable
)
PECL
で使用可能なPre-Releaseバージョンの拡張機能は、拡張子の名前を状態のalpha
、 beta
、 rc
、 preview
、 devel
、またはsnapshot
で接尾辞することでセットアップできます。例えば:
install-php-extensions xdebug-beta
ヒント: PECL
で利用可能な最新バージョンが安定しておらず、最後の安定したバージョンを保持したい場合は、拡張機能の名前をstable
状態に接近させて強制します。例えば:
install-php-extensions mongodb-stable
ソースコードからPHP拡張機能をインストールすることもできます( package.xml
またはpackage2.xml
ファイルが付属している場合)。
受け入れられた形式は次のとおりです。
# Install from a specific commit (full commit SHA-1)
install-php-extensions php-memcached-dev/php-memcached@8f106564e6bb005ca6100b12ccc89000daafa9d8
# Install from a specific commit (short commit SHA-1)
install-php-extensions php-memcached-dev/php-memcached@8f106564e6bb
# Install from tag v3.2.0RC2
install-php-extensions php-memcached-dev/[email protected]
install-php-extensions php-memcached-dev/php-memcached@refs/tags/v3.2.0RC2
# Install from branch master
install-php-extensions php-memcached-dev/php-memcached@master
install-php-extensions php-memcached-dev/php-memcached@refs/heads/master
# tgz archive for commit 8f106564e6bb005ca6100b12ccc89000daafa9d8
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/8f106564e6bb005ca6100b12ccc89000daafa9d8
# tgz archive for tag v3.1.5
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/tags/v3.1.5
# tgz archive for branch master
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/heads/master
# Download the source code
curl -o /tmp/source.tgz https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/tags/v3.1.5
tar xzf /tmp/source.tgz -C /tmp
install-php-extensions /tmp/php-memcached-3.1.5
作曲家をインストールすることもできます。また、メジャーバージョンのメジャーバージョンまたはフルバージョンを指定することもできます。
例:
# Install the latest version
install-php-extensions @composer
# Install the latest 1.x version
install-php-extensions @composer-1
# Install a specific version
install-php-extensions @composer-2.0.2
let's Let's暗号化のルートCA証明書(詳細についてはこちら)。
それは古いLinux分布を壊します、すなわち:
このスクリプトは、この問題を修正できます。 @fix_letsencrypt
引数として渡すだけです。
install-php-extensions @fix_letsencrypt
拡大 | PHP 8.4 | PHP 8.3 | PHP 8.2 | PHP 8.1 | PHP 8.0 | PHP 7.4 | PHP 7.3 | PHP 7.2 | PHP 7.1 | PHP 7.0 | PHP 5.6 | PHP 5.5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
amqp | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
apcu | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
APCU_BC | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||||
AST | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
bcmath | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
ビットセット | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
ブラックファイア | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
brotli | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
BZ2 | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
カレンダー | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
cassandra* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||||
cmark | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||||
CSV | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||
DBA | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
ddtrace* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
小数 | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
DS | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
ecma_intl* | ✓✓ | ✓✓ | ||||||||||
エンチャント | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
EV | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
イベント | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
エキシマ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||
exif | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
ffi | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||||||
FTP | ✓✓ | ✓✓ | ✓✓ | |||||||||
GD | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
ギアマン | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
Geoip | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||
geos* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
地理空間 | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
getText | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
Gmagick | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
GMP | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
gnupg | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
GRPC | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
http | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
igbinary | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
Imagicick | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
IMAP | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
Inotify | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
インターベース | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||||||
intl | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
イオン | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||||||||
ioncube_loader | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
jsmin | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||
json_post | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
jsonpath | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||||||
ldap | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
luasandbox | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
LZ4* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
LZF | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
MailParse | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
maxminddb | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||||
McRypt | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
memcache | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
memcached | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
memprof* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
マンゴ | ✓✓ | ✓✓ | ||||||||||
mongodb | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
蚊 | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||
msgpack | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
MSSQL | ✓✓ | ✓✓ | ||||||||||
mysql | ✓✓ | ✓✓ | ||||||||||
mysqli | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
NewRelic | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||
oauth | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
OCI8 | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
ODBC | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
opcache | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
OpenCensus | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||
openswoole | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||
Opentelemetry | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||||
平行* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||
パーレ* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
pcntl | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
PCOV | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||
pdo_dblib | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
pdo_firebird | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
pdo_mysql | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
PDO_OCI | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
PDO_ODBC | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
PDO_PGSQL | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
PDO_SQLSRV | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
PGSQL | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
ファルコン | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||
php_trie | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||
phpy* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||||||||
PKCS11 | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||||||
pq | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
プロポロ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||
プロトブフ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
pspell | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
PSR | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
pthreads* | ✓✓ | ✓✓ | ✓✓ | |||||||||
raphf | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
rdkafka | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
レコード | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||||||
Redis | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
リレー | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||||
サクソン* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
Seasclick | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
貝殻 | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
shmop | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
Simdjson* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||
smbclient | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
スナッピー | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
SNMP | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
スナフルパガス | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
石鹸 | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
ソケット | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
ナトリウム* | ✓✓ | ✓✓ | ✓✓ | |||||||||
solr | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
SourceGuardian | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
spx | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
sqlsrv* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
SSH2 | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
踏みつけ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
スウール | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
sybase_ct | ✓✓ | ✓✓ | ||||||||||
同期 | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
sysvmsg | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
sysvsem | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
sysvshm | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
テンソル | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||||||
潮流 | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
きちんとした | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
TimeZonedB | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
uopz | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
uploadprogress | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
uuid | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
UV | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||||
VIP* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
Vld | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
WDDX | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||||||
wikidiff2* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||
xdebug | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
xdiff | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
xhprof | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
xlswriter | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
xmldiff | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |
xmlrpc | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
xpass* | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||||||
XSL | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
YAC | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
Yaml | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
ヤー | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
Zephir_Parser | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | |||
ジップ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
ZMQ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
Zookeeper | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ||
ZSTD | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ | ✓✓ |
サポートされている拡張機能の数:151
PS:事前にインストールされたPHP拡張機能は、このリストから除外されます。次のコマンドでそれらをリストできます( php:7.2-cli
を変更して、興味のあるPHPバージョンを反映しています):
$ docker run --rm php:7.2-cli php -m
[PHP Modules]
Core
ctype
curl
date
dom
fileinfo
filter
ftp
hash
iconv
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_sqlite
Phar
posix
readline
Reflection
session
SimpleXML
sodium
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
[Zend Modules]
環境変数を使用して、スクリプトの動作を構成したり、ニーズに合わせたりするためにいくつかの拡張機能を微調整できます。
これが例です:
IPE_LZF_BETTERCOMPRESSION=1 install-php-extensions lzf
サポートされているすべての環境変数のリストは次のとおりです。
拡大 | 環境変数 | 説明 |
---|---|---|
IPE_DEBUG=1 | この環境変数を設定することにより、スクリプトは実行するすべてのコマンドを印刷します(非常に冗長で、デバッグの目的でのみ便利になります) | |
IPE_PROCESSOR_COUNT | デフォルトでは、利用可能なすべてのプロセッサ。この環境変数を設定して、スクリプトで検出されたプロセッサの数をオーバーライドします(並列編集に使用) | |
IPE_DONT_ENABLE=1 | デフォルトでは、スクリプトがインストールして拡張機能を有効にします。 それらのみを(有効にすることなく)インストールしたい場合は、この環境変数を設定できます。 後で拡張機能を有効にするには、コマンド docker-php-ext-enable-<extension> 実行できます(たとえば、 docker-php-ext-enable-xdebug )。注意:一部のPHP拡張機能をインストールするには、他のPHP拡張機能が既に有効になっている必要があるため、この機能を賢く使用してください。 | |
IPE_SKIP_CHECK=1 | デフォルトでは、スクリプトで拡張機能を有効にできるかどうかを確認します。このチェックをスキップする場合は、このフラグを使用できます。 注意してください:PHPを破っても、拡張機能を有効にすることができます:この関数を賢く使用します。 | |
IPE_KEEP_SYSPKG_CACHE=1 | デフォルトでは、スクリプトはディスクスペースを保存するためにAPT/APK/Pearキャッシュをクリアします。この環境変数を設定して無効にすることができます | |
LZF | IPE_LZF_BETTERCOMPRESSION=1 | デフォルトでは、 install-php-extensions lzf 拡張機能をコンパイルして、サイズよりも速度を好むようにします。この環境変数を使用して、スピードを超えるサイズを好むコンパイルできます |
イベント | IPE_EVENT_NAMESPACE= ... | デフォルトでは、 event クラスはルートネームスペースで定義されます。この環境変数を使用して、カスタムネームスペースを指定できます |
GD | IPE_GD_WITHOUTAVIF=1 | PHP 8.1以降、GDはAVIF形式をサポートしています。有効にするには、libaom/libdav1d/libyuv/libavifをDebianで11まで、3.14までのアルパインをコンパイルする必要があります。これは時間がかかります。これらのオペレーティングシステムバージョンにこの環境変数を設定することにより、AVIFサポートを無効にできます |
OCI8およびPDO_OCI | IPE_INSTANTCLIENT_BASIC=1 | OCI8およびPDO_OCI PHP拡張には、Oracle Instantクライアントが必要です。ディスクスペースを保存するために、基本的なLiteバージョンをインストールします。基本的な(非ライト)バージョンをインストールする場合は、この環境変数を設定するだけです |
http、intl、mongodb | IPE_ICU_EN_ONLY=1 | 一部の拡張機能にはICUライブラリが必要です。このフラグを使用して、より小さな、しかし英語のみのICUライブラリをAlpine 3.16以降にインストールします |
pspell | IPE_ASPELL_LANGUAGES='...' | 利用可能にする言語を構成します(例: IPE_ASPELL_LANGUAGES='en fr' )。省略した場合、 en を想定します |
IPE_DEB_ARCHIVE & IPE_DEB_ARCHIVE_SECURITY | 非常に古いDebianバージョン(Jessieなど)のAPTパッケージがアーカイブされている可能性があります。これらの環境変数を使用して、これらのAPTアーカイブのカスタムURLを指定できます。 | |
NewRelic | IPE_NEWRELIC_DAEMON=1 | NewRelic Daemonをインストールします |
NewRelic | IPE_NEWRELIC_KEEPLOG=1 | NewRelicセットアップのログファイルを保持します( /tmp/nrinstall-….tar ) |
NewRelic | NR_INSTALL_KEY | あなたの新しい遺物ライセンスキー |
一部の拡張機能には特別な要件があります。
拡大 | 要件 |
---|---|
カサンドラ | • jessie Docker画像では利用できません• stretch ドッカー画像では利用できません• buster ドッカーの画像では利用できません• bullseye Docker画像では利用できません• bookworm Docker画像では利用できません |
ddtrace | jessie Docker画像では利用できません |
ecma_intl | • buster ドッカーの画像では利用できません• bullseye Docker画像では利用できません |
Geos | • alpine3.9 Docker画像では利用できません• alpine3.10 Docker画像では利用できません |
LZ4 | jessie Docker画像では利用できません |
memprof | • alpine3.9 Docker画像では利用できません• alpine3.10 Docker画像では利用できません• alpine3.11 Docker画像では利用できません• alpine3.12 Docker画像では利用できません• alpine3.13 Docker画像では利用できません• alpine3.14 Docker画像では利用できません• alpine3.15 Docker画像では利用できません |
平行 | スレッドセーフティが有効になっている( zts )とコンパイルされたPHPを備えた画像が必要です |
パー | jessie Docker画像では利用できません |
phpy | buster ドッカーの画像では利用できません |
pthreads | スレッドセーフティが有効になっている( zts )とコンパイルされたPHPを備えた画像が必要です |
サクソン | alpine Docker画像では利用できません |
Simdjson | • jessie Docker画像では利用できません• stretch ドッカー画像では利用できません |
ナトリウム | jessie Docker画像では利用できません |
SQLSRV | • 7.1-alpine3.9 Docker画像では利用できません• 7.1-alpine3.10 Docker画像では利用できません |
VIP | • alpine3.9 Docker画像では利用できません• jessie Docker画像では利用できません |
wikidiff2 | • jessie Docker画像では利用できません• stretch ドッカー画像では利用できません |
xpass | buster ドッカーの画像では利用できません |
このコマンドを実行できます。
cat /etc/os-release
例えば:
PRETTY_NAME= " Debian GNU/Linux 11 (bullseye) "
PRETTY_NAME= " Alpine Linux v3.14 "
プルリクエストを送信すると、githubアクションが実行され、影響を受けたPHP拡張機能が実際に機能するかどうかを確認します(以下を参照)。
さらに、PECLリポジトリの拡張機能の新しいバージョンが引き続き機能することも確認します。これは、別のGitHubアクションでスケジュールベースで行われます。
障害の場合、メッセージが電報チャネルに送信されます。
失敗通知を受信するには、自由に購読してください。
プルリクエストを送信する前に、 scripts
ディレクトリ(またはWindows上のlint.bat
)でlint
スクリプトを実行する必要があります。
そうしないと、コーディングスタイルのエラーがある場合、 Check shell coding style
および/またはCheck PHP coding style
GitHubアクションが失敗することがわかります。
エラーは次のようなものになります:
--- filename.orig
+++ filename
@@ -line number,7 +line number,7 @@
good line of code #1
good line of code #2
good line of code #3
- the original line with a wrong coding style
+ the line wrong coding style that has been corrected
good line of code #4
good line of code #5
good line of code #6
したがって、ハイライトされたライン( line number
の-
つ)を修正する必要があります+
install-php-extensions
スクリプトを変更しますdata/supported-extensions
ファイルを更新し、拡張機能のハンドルとサポートされているPHPバージョンのリストに新しい行を追加しますzts
が続くdata/special-requirements
ファイルに新しい行を追加します例については、このプルリクエストを参照してください。
install-php-extensions
スクリプトを変更しますdata/supported-extensions
ファイルを更新し、更新された拡張機能に対応する既存の行に新しいPHPバージョンを追加します例については、このプルリクエストを参照してください。
1つ以上の拡張機能に影響を与えるコードを変更した場合は、 Test: extension1, extension2
を掲載した[Pull Request Commitsの1つ]メッセージに追加してください。そうすれば、テストジョブは、 data/supported-extensions
ファイルに触れない場合でも、拡張機能をチェックします。
これがコミットメッセージの例です。
Improve the GD and ZIP extensions
Test: gd, zip
テストは、一度に単一のPHP拡張機能のインストールのみを確認します。より多くのPHP拡張機能のインストールを同時にテストする場合は、次のようなコミットメッセージを使用します。
Improve the GD and ZIP extensions
Test: gd+zip
プルリクエストに複数のコミットが含まれている場合、すべてのコミットの「テスト:」メッセージを確認します。次のコミットの解析を停止したい場合は、「テスト:」ラインに-STOP-
を追加します。たとえば
Improve the GD and ZIP extensions
Test: gd, zip, -STOP-
例については、このプルリクエストを参照してください。
PECLアーカイブで公開されているPHP拡張機能には、サポートされているPHPバージョンとコンパイルに使用できるオプションを説明するpackage.xml
(またはpackage2.xml
)ファイルが含まれています。新しいPHP拡張機能のサポートを追加し、PHP拡張機能の新しいバージョンがリリースされると、それらの制約を確認する必要があります。
これはかなり退屈な作業なので、これらの制約を簡単に確認できるプロジェクトを開発しました。https://mlocati.github.io/pecl-infoで見つけることができます(ここでは、ソースコードを見つけることができます)。
MAINTAINERS.md
ファイルを参照してください。
あなたは私に毎月のコーヒーや一度限りのコーヒーを提供することができます