まだらもよう

Qiitaに投稿できないメモ書きなど

PHPのビルドとエクステンション

PHPのビルド

ビルドとは、各プログラムをコンパイルして、リンクすること。

参考:
PHPをビルドする — PHP Internals Book 日本語訳 [PHP]pecl,phpize,extensionという単語を見て頭痛がするあなたへの処方箋 · DQNEO起業日記

PHPC言語で書かれているので、ソースコードを入手したのちmakeコマンドでビルドできる。パッケージマネージャー(aptなど)を使えば、ビルド済みのものを入手できる。

ビルドするときのconfigure, make, make installについては以下を読もう。
configure, make, make install とは何か - Qiita

エクステンション(拡張モジュール)

エクステンションもc言語で書かれており、以下の方法で入手できる。

  • PHPをビルドするときに設定する
  • エクステンションをビルドする
  • パッケージマネージャーでビルド済みのものを入手する

PHPのビルド時に設定した場合は、PHPのバイナリとして有効になる。ほかの場合は、php.iniのextension_dirに.soファイルとして置かれる。
エクステンションが依存するライブラリをインストールするのを忘れないこと。

その他の用語

  • PECL, PEAR
    PEARPHPで利用する事ができるPHPで書かれたライブラリを提供しているサービス。PECLC言語で書かれたエクステンションを提供するサービス。

  • .so
    中身はバイナリの、Linux, macなどUNIX系OSの共有ライブラリファイルの拡張子。phpのエクステンションもこれ。

  • PDO
    PDOはDBへのアクセスを抽象化するエクステンション。どのDBでも同じようにアクセスできるようにする。
    使用したいDBドライバをエクステンションとしてインストールする必要がある。