私はApache2サーバによって提供されるPHP5アプリケーションを持っています。 PHPがスレッドセーフでない場合は利用できないmpm_workerモジュールを使用します。だから、私は適切なフラグでPHPをコンパイルしました。この出力は私のPHPインストールがスレッドセーフであることを確認します:スレッドセーフなlibapache2-mod-php5
$ php -i | grep Thread
Thread Safety => enabled
素晴らしい! ApacheとPHP間のリンクを作成するには、php5モジュール(a2enmod php5
)を有効にします。使用するファイル(libphp5.so)はlibapache2-mod-php5パッケージでインストールされています。しかし、自分のページに、彼らは言う:
それはスレッドセーフコンパイルされていないとして、このパッケージには、ONLY、ApacheのpreforkのMPMで動作することに注意してください。
それは私のねじ切りApacheとスレッドセーフなPHPの間でスレッドセーフではありません libphp5.soいる立っていること?どういう意味したがって、mpm_workerを作成することはできません。
私はPHPで行ったように、このファイルをコンパイルして、スレッドセーフにしたいと考えました。私はそれについての話題を見つけませんでした。私は私の場合を助ける助言をしてうれしいです。
phpinfo()を見ると、バージョン(PHP 5.6.30-0 + deb8u1)がコンパイルしたバージョン(PHP 5.6.31)と一致していないことがわかります。そして、そのスレッドの安全性は無効と表示されます。それは別のPHPインストールを使用しているようです。現在インストールされているPHPパッケージは次のとおりです。
$ apt list --installed | grep php
libapache2-mod-php5/oldstable,oldstable,now 5.6.30+dfsg-0+deb8u1 amd64 [installed]
libphp5-embed/oldstable,oldstable,now 5.6.30+dfsg-0+deb8u1 amd64 [installed]
php5-cli/oldstable,oldstable,now 5.6.30+dfsg-0+deb8u1 amd64 [installed,automatic]
php5-common/oldstable,oldstable,now 5.6.30+dfsg-0+deb8u1 amd64 [installed,automatic]
php5-fpm/oldstable,oldstable,now 5.6.30+dfsg-0+deb8u1 amd64 [installed]
php5-json/oldstable,now 1.3.6-1 amd64 [installed,automatic]
php5-mysql/oldstable,oldstable,now 5.6.30+dfsg-0+deb8u1 amd64 [installed]
php5-readline/oldstable,oldstable,now 5.6.30+dfsg-0+deb8u1 amd64 [installed,automatic]