スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHPの特定の機能だけ追加したい

PHPをインストールする時に、最低限のもの以外は殆どdisable[無効]にしてコンパイル・インストールするんだけど、後々やっぱり必要だったとか、デフォルトでdisableになっているモジュールを後から入れたい場合があります。

ftpとかgdとかsnmpとかって関数は、PHPのconfigure時に--withとか--enableといったオプションを予め付けておけば使えるけど、そうじゃない場合には使えません。

でもまたconfigureし直すのが面倒とか、そもそもその機能がPHPを使う中のごく僅かでしか使わない場合はextensionだけをコンパイルしてインストールして使う事が出来ます。

PHPのソースディレクトリには「ext」というディレクトリがあり、その中には拡張モジュールがそれぞれ用意されています。

今回、snmpの機能を使いたかったので「php-4.4.4/ext/snmp/」に移動してコンパイル・インストールを行いました。

まずは「phpize」というコマンドを実行します。
このコマンドは拡張モジュールをビルドする環境を作る為のコマンドです。

コンパイルオプションはモジュールによって違うので、configure --helpで確認するか、PHPマニュアルを参考にして下さい。

snmpの場合は「--with-snmp=パス」が必要との事。

./configure --with-snmp=/usr --with-php-config=/usr/local/bin/php-config

のようにしてコンパイルしました。

「--with-php-config=/usr/local/bin/php-config」は多分必ず必要なオプションです。多分。

ちなみに追加したモジュールを使いたい場合は、PHPソースの中で

dl('snmp.so');

とするか、php.iniのextensionにsnmp.soを追加します。

前者の方は必要な時だけ呼び出される為、無駄はないです。
後者の場合、もしパフォーマンスも重視するのであればPHP自体を再コンパイルした方が良いです。(モジュールを呼び出す行為は無駄なロスになります)
スポンサーサイト

この記事のトラックバックURL

http://kgworks.blog47.fc2.com/tb.php/77-1a768f78

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

テクノラティ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。