Pthreadをインストールできなくなってから数週間が経ちました。エラーログを一覧表示してから、構成オプションを一覧表示します。
これらは私が得るエラーです:
(Apacheエラーログ)
Apache2handler SAPIは、0行目のUnknownのpthreadではサポートされていません
apachectl -V出力
Server version: Apache/2.4.18 (Unix) Server built: Jan 10 2016 14:54:48 Server's Module Magic Number: 20120211:52 Server loaded: APR 1.4.8, APR-UTIL 1.5.2 Compiled using: APR 1.4.8, APR-UTIL 1.5.2 Architecture: 64-bit Server MPM: worker threaded: yes (fixed thread count) forked: yes (variable process count)
一方、PHPエラーログ:
(PHPエラーログ)
bin/php -mPHP Warning: Module 'pthreads' already loaded in Unknown on line 0 [PHP Modules] Core date pcre pthreads Reflection SPL standard
extension=pthreads.so
をロードする別のini
ファイルはありません。これらのエラーはすべて、extension=pthreads.so
をphp-cli.ini
ファイルに含めた場合にのみ発生します。
php-cli.ini
ファイルがない場合、php -m
は次のモジュールをリストします。bin/ php -m[PHP Modules] Core date pcre Reflection SPL standard
この時点でPHP AND Apache pthreadsクラスが認識されないことを除いて、完全に機能します。
Apache構成オプション./configure \ --prefix=path/Apache \ --exec-prefix=path/Apache \ --with-pcre=path/Apache/pcre \ --enable-module=so \ --with-mpm=worker
PHP構成オプション./configure \ --prefix=path \ --exec-prefix=path \ --with-apxs2=path/Apache/bin/apxs \ --with-config-file-scan-dir=path/php/lib \ --with-config-file-path=path/php/lib \ --disable-all \ --enable-maintainer-zts \ --enable-pthreads=shared
何度も何度も、pthreadsはApache(PHP-CGI)ではサポートされておらず、CLIバージョンでのみサポートされているためです。
https://github.com/krakjoe/pthreads
SAPIサポート
pthreads v3はCLIでの操作のみに制限されています。Webサーバーのスレッドが意味をなさないことを説明するために何年も費やしてきました。1,111がpthreadにコミットした後、私のアドバイスは無視されています。
ですから、私はハードで迅速な事実へのアドバイスを推進しています。CLI以外の場所ではpthreadを安全かつ賢明に使用することはできません。
聞いてくれてありがとう ;)