2016/10/18 20:55:23

PECLをインストールする

php-logo
目次(クリックするとジャンプします)
  • 1:エクステンションをインストールするために
  • 1.1:debian/ubuntuでのインストール
  • 1.2:CentOSでのインストール
  • 2:補足・ハマったポイント
  • 3:まとめ

エクステンションをインストールするために

PECL(ピクル)はCで書かれたPHP用のライブラリリポジトリです。Cで書かれたライブラリはエクステンションとも言います。

PHPで書かれたライブラリならComposerでインストールすることができますが、Cで書かれたライブラリをComposerからインストールすることは今のところできないそうです…。(Composerでなんとか使用とするプロジェクトがあるそうですが)

エクステンションをインストールするにはPECLコマンドのインストールが便利です(エクステンションを自分でコンパイルすることもできますし、コンパイル済みパッケージを導入する方法もあります)

PECLはリポジトリとしての名称ですが、PECLリポジトリからエクステンションを得る為のコマンドとしての名称でもあります。

PECLコマンドを使うとエクステンションの導入が簡単に行なえます。

PEARをインストールすると同時に入りますので、php-pearをインストールすることで使えるようになります。

debian/ubuntuでのインストール

debian/ubuntuではapt-getで。

$ sudo apt-get install php-pear

CentOSでのインストール

CentOSではyumで。

$ sudo yum install php-pear

これでPECLコマンドが使用できるようになっていると思います。

補足・ハマったポイント

PECLのコマンド内部でビルドツールなどが必要になる場合があります。

PECLからエクステンションをインストールしようとすると以下のようなエラー(一部抜粋)が出るかもしれません。(ImageMagickのインターフェースであるImagickをインストールしたとき)

sh: 1: phpize: not found
If the command failed with 'phpize: not found' then you need to install php5-dev packageYou can do it by running 'apt-get install php5-dev' as a root u
serERROR: `phpize' failed

これはphpizeというビルドツールが無いためにでたエラーです。

このようにPECLのライブラリはCで書かれているせいもあってか、ツールなど依存関係が結構あります。

おそらくC関係のデベロッパツールをいろいろ要求されると思いますが、エラーメッセージは結構親切で何が足りないと教えてくれますから、それに従えばそれほど苦労なくエクステンションの導入ができるかと思います。

まとめ

  • PECLはCで書かれたPHP用のライブラリリポジトリのこと
  • PECLで管理されるライブラリはエクステンションとも呼ばれる
  • PECLコマンドでエクステンションを導入する際には依存関係が多くでるかもしれない