1

私はPHP FPM 5.5をOpcacheで実行しています - 以下は私のOpcache設定です(非常に標準的です):

; Opcache Configuration
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=50000
opcache.fast_shutdown=1
opcache.revalidate_freq=120

PHP FPM の下で、ダイナミックを使用して最小/最大などのプロセス数を開始するさまざまなプールを持つさまざまなドメインを実行しています。これは正常に実行されています。

質問したいのですが、opcache は APC のようにドメインごとに実行されますか?

Opcache のドメインごとの要因に関する情報を見つけるのは困難でした。

ありがとうございました

4

1 に答える 1

3

ドメイン (VirtualHost) ごとに OpCache を使用する場合は、ドメインごとに php-wrapper を作成し、別のディレクトリで PHPRC 変数を php.ini に設定する必要があります。

2 つの VirtualHosts の 2 つのラッパー:

foo ラッパー- /var/www/foo/cgi-bin/php5-wrapper :

#!/bin/sh
PHPRC=/etc/php5/foo/
export PHPRC
#export PHP_FCGI_MAX_REQUESTS=5000
#export PHP_FCGI_CHILDREN=8
exec /usr/lib/cgi-bin/php

/etc/php5/foo/php.ini ファイルを作成します

バーラッパー- /var/www/bar/cgi-bin/php5-wrapper :

#!/bin/sh
PHPRC=/etc/php5/bar/
export PHPRC
#export PHP_FCGI_MAX_REQUESTS=5000
#export PHP_FCGI_CHILDREN=8
exec /usr/lib/cgi-bin/php

/etc/php5/bar/php.ini ファイルを作成します

簡単にテストできます。

  1. このアプリをダウンロード: https://github.com/PeeHaa/OpCacheGUI
  2. OpCacheGUI に 2 つの VirtualHosts を設定します: foo.opcache (foo ラッパーを使用) と bar.opcache (bar ラッパーを使用)
  3. テスト アプリケーション用に 2 つの VirtualHosts を設定します: foo.app (foo ラッパーを使用) と bar.app (bar ラッパーを使用)。2 つの異なるアプリを使用するか、同じアプリで異なるディレクトリを使用します。
  4. foo.app と bar.app でいくつかのリクエストを行います。
  5. foo.opcache と bar.opcache の OpCacheGUI の [キャッシュされたスクリプト] タブを確認します。

php-fcgid で動作しています。

于 2014-05-08T12:41:22.893 に答える