web-dev-qa-db-ja.com

Apache2handlerSAPIはpthreadではサポートされていません

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 -m
PHP 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.sophp-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

2
Javid Gajievi

何度も何度も、pthreadsはApache(PHP-CGI)ではサポートされておらず、CLIバージョンでのみサポートされているためです。

https://github.com/krakjoe/pthreads

SAPIサポート

pthreads v3はCLIでの操作のみに制限されています。Webサーバーのスレッドが意味をなさないことを説明するために何年も費やしてきました。1,111がpthreadにコミットした後、私のアドバイスは無視されています。

ですから、私はハードで迅速な事実へのアドバイスを推進しています。CLI以外の場所ではpthreadを安全かつ賢明に使用することはできません。

聞いてくれてありがとう ;)