[PHP-users 8676] Re: PHP の拡張性?

Youichi Iwakiri php-users@php.gr.jp
Tue, 16 Jul 2002 14:36:08 +0900


いわきりです

Yamaguchi Hiroshi wrote in <20020715053514.48129.qmail@web306.mail.yahoo.co.jp> :
>PHPにおいて、静的、動的に関わらず拡張モジュールを
>組み込んだ場合には、やはりサーバ上のメモリはそれだ
>け(恒常的に)消費されるものなのでしょうか。

拡張モジュールの組み込み方によります。
当然、静的に拡張モジュールを組み込んだ場合は、Apacheのプロセスサイズは増えます。

動的に組み込む場合は、2通りの利用形態があります。

一つは、php.iniで
extension=foo.so
といった具合に指定した場合は、libphp4.soと同時に目盛りに読み込まれます。
Apacheの停止まで解放されません。

もう一つは、dl関数を使いスクリプト単位で拡張モジュールを組み込みます。
スクリプトの終了と同時に拡張モジュールは解放されます。

>そうして考えたとき、動的にオブジェクトを生成することを
>前提としたJavaなどに較べ、自ずとPHPの拡張性には限
>界があるということなのでしょうか。
>PHPの世界に入ってみて、オブジェクトの生成によってメモ
>リを確保する、開放するという世界がまったくなくなってしま
>ったので、拡張性、リソースという観点からどのように考えら
>れているのか、疑問に思いました。
>からきし的外れな質問なのかもしれませんが、どうぞご教授
>下さい。

PHPはオブジェクト指向かどうかというと違うと思うので、Javaと比較されると
なんですが、動的に拡張できるか、また拡張したものを解放できるかと言う点では
できます。あとは、Webサーバの用途しだいだと思います。特定サービスを高レスポンスで
応答し続けなければならないなら、最初からローディングされた状態で稼働し続ける
要にセットアップしますし、不特定多数が異なるサービス(異なる拡張モジュール)を
提供するシステムを構築するなら、その全てをローディングするのはリソース面では無駄が
多いと思うので、dl()を使うよう*私なら*奨めるでしょう。

-- 
Youichi Iwakiri