[PHP-users 32365] Re: スレッドとstatic変数の関係について

Yasuo Ohgaki yohgaki @ ohgaki.net
2007年 7月 3日 (火) 10:54:55 JST


大垣です。

> 気になって手持ちの環境をphpinfo()で見たのですが、
> WindowsのXAMPPのPHP5.2は「Thread Safety enabled」
> Debian(Linux)のPHP5.2は「Thread Safety disabled」
> でした。
> 「PHPの一部の拡張モジュールはスレッドセーフではない」
> という点から考えると「Thread Safety disabled」とするのが
> 妥当なんだろうと勝手に思っていたんですけど。

マルチスレッドサーバでZTSを無効にすると、いろいろな箇所で
スレッドセーフティ関連の問題が発生し、正常に動作できません。

> 
> ネットで見つけた、Zend Optimizerの資料見ると、
> Windows の場合、"enabled"
> UNIX/Linux/Mac OS X の場合、"disabled"
> であること。とあるので、これが当たり前なのかな。

通常はそうです。WindowsのWebサーバでマルチプロセスサーバな
物は聞いた事がないです。# あるかも知れませんが知りません

UNIX系の場合、普通はPrefork MPMを使います。Worker MPMでも
PHPはそれなりに動作しますが、他の3rdパーティモジュールで
正常に動作しなくなる物は多くあると思います。この為、普通
のディストリビュータはPreforkにしているはずです。

-- 
Yasuo Ohgaki : yohgaki @ ohgaki.net : http://www.ohgaki.net/



PHP-users メーリングリストの案内