[PHP-users 24038] Re: スレッドセーフでない?

Moriyoshi Koizumi moriyoshi @ at.wakwak.com
2004年 12月 30日 (木) 15:42:12 JST


小泉です。

# この問題、解決済みかもしれませんが参考になれば。

On 2004/12/23, at 17:35, HOTTA Michihide wrote:

> /etc/alternatives/apache2 -> /usr/sbin/apache2.worker
>
> デフォルトはワーカスレッド?
<snip>
> PHP のビルドオプションを調べてみても、
>
> $ ./configure --help|grep thread
>   --enable-maintainer-zts
>      Enable thread safety - for code maintainers only
>   --with-tsrm-pthreads
>      Use POSIX threads (default)
>
> という感じで、特にそれらしい指定が見当たりません。某所からの情報
> で、--enable-roxen-ztsを入れてみたらというのがありましたが、同じ
> でした。どなたか、apache2 + php5 で動かしている方がおられましたら、
> 設定を教えていただけないでしょうか?

Apache2 側が worker MPM ですと、
--enable-maintainer-zts オプションが必要になります。

--with-tsrm-pthreads はホストが Linux の場合デフォルトで選択されます。

# --enable-roxen-zts は Apache との組み合わせの中では無関係です。

ZTS (=Zend Thread Safety) が有効になったバイナリを prefork MPM と
組み合わせてもとくに表立って問題が出る事はありませんが、
一般的に ZTS が有効にしてあると、アーキテクチャにもよりますが
実行速度が 10% 程度低下します (コンパイラによる最適化なしで)。



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