9
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DockerでPHP/laravelの環境を作る時によく使われるコマンド pecl install や docker-php-ext-install について

Posted at

pecl installdocker-php-ext-install も拡張モジュールをインストールするコマンド。
インストールできる拡張モジュールの種類が違う。

pecl install

PECLとは

PHP Extension Community Libraryの略。
PHP言語を拡張するためのモジュールレポジトリ。C言語で記述されており、PEARよりも高速に動作する。ネットワーク経由でライブラリをインストールすることができる。

C言語で記述されているPHP拡張モジュールがPECL

Dockerfile に記述する時は下記のように記述

RUN pecl install xdebug && \ #インストール
    docker-php-ext-enable xdebug #有効化

pecl installした拡張モジュールは有効化する必要があります。
有効化で一般的な方法は2つあります
① php.ini に設定
extension = モジュール名 の形式で記述

モジュールを読み込むには、 php.ini ファイルに extension ディレクティブを追加
https://www.php.net/manual/ja/install.pecl.intro.php

docker-php-ext-enable を使用する
docker-php-ext-enable モジュール名 の形式で記述

docker-php-ext-install

こちらは?

このコマンドは、PHPの標準の拡張モジュールをインストール & 有効化する

RUN docker-php-ext-install intl pdo_mysql zip bcmath #インストールと有効化

こちらはdocker-php-ext-installコマンドで、インストールと有効化をしてくれるので有効化のコマンドは不要です。

実際に拡張モジュールはどう選んだらいいのか?

Dockerでlaravelの環境を構築する時などには、要件としてPHPの拡張モジュールが指定されていたりするので、
最低限そのような拡張モジュールはインストールするようにDockerfileを書く必要がありそうです。

Laravelフレームワークにはいくつかのシステム要件があります。Webサーバへ確実に以下のPHP最低バージョンと拡張機能を用意してください。
BCMath PHP 拡張
Ctype PHP 拡張
Fileinfo PHP 拡張
JSON PHP 拡張
Mbstring PHP 拡張
OpenSSL PHP 拡張
PDO PHP 拡張
Tokenizer PHP 拡張
XML PHP 拡張

あとは実装、使用したい機能などが、既に拡張モジュールとして提供されているかどうか確認して必要に応じて選択していけば良さそうです。

PECL拡張は下記から検索できます

参考にさせていただいた記事

9
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?