実行時設定
php.ini の設定により動作が変化します。
どこで設定を行うのか を参照してください。
以下に設定ディレクティブに関する 簡単な説明を示します。
-
opcache.enable
bool -
オペコード・キャッシュを有効にします。 無効にした場合、コードは最適化もキャッシュもされません。
opcache.enable
の設定を、実行時に ini_set() で有効化することはできません。 実行時にできるのは、無効化だけです。スクリプト内で有効化しようとすると、警告が発生します。 -
opcache.enable_cli
bool -
PHP の CLI 版に対してオペコード・キャッシュを有効にします。
-
opcache.memory_consumption
int -
OPcache によって使用される共有メモリ・ストレージのサイズ。( MB 単位) 設定できる最小値は
"8"
です。これより小さい値を設定しても、最小値が強制されます。 -
opcache.interned_strings_buffer
int -
インターン化 (intern) された文字列を格納するために使用されるメモリ量。( MB 単位)
-
opcache.max_accelerated_files
int -
OPcache ハッシュテーブルのキー(すなわちスクリプト)の最大数。 使用される現時点の値は、 素数の集合
{ 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793 }
のうち、 設定値以上の最初の数値です。 最小値は 200 です。最大値は 1000000 です。 これらの範囲外の値が設定されても、範囲内の値に設定し直されます。 -
opcache.max_wasted_percentage
int -
メモリが不十分な場合に、再起動がスケジュールされるまでに許される、無駄なメモリの最大の割合。 最大値は
"50"
です。これ以上の値が設定されても、最大値が強制されます。 -
opcache.use_cwd
bool -
有効にすると、OPcache は現行の作業ディレクトリをスクリプト・キーに追加します。 その方法によって、同じ基底名を持つファイル同士で起こりうる衝突を回避します。 このディレクティブを無効にするとパフォーマンスが向上しますが、既存のアプリケーションを破壊するかもしれません。
-
opcache.validate_timestamps
bool -
有効にすると、OPcache は、スクリプトが更新されたかを opcache.revalidate_freq 秒ごとにチェックします。 このディレクティブが無効な場合、ファイルシステムへの変更を反映するには、 opcache_reset() または opcache_invalidate() 関数を介して、 または Web サーバーを再起動して手動で OPcache をリセットしなければいけません。
注意: opcache.file_update_protection や opcache.max_file_size の値に0でない値が設定されている場合、OPcache はファイルのタイムスタンプをまだコンパイル時にチェックする可能性があります。
-
opcache.revalidate_freq
int -
更新のためにスクリプトのタイムスタンプをチェックする頻度。(秒単位)
0
にすると、OPcache は、リクエストごとに更新をチェックします。この設定ディレクティブは、 opcache.validate_timestamps が無効の場合、 無視されます。
-
opcache.revalidate_path
bool -
無効にすると、 同一の include_path を使用する、 キャッシュされた既存のファイルが再利用されます。 したがって、同じ名前を持つファイルが include_path の他の部分にあると、それは見つかりません。
-
opcache.save_comments
bool -
無効にすると、最適化したコードのサイズを減らすために OPcode キャッシュからすべてのドキュメンテーション・コメントが廃棄されます。 この設定ディレクティブを無効にすると、注釈のためにコメント・パースに依存するアプリケーションおよびフレームワークを破壊するかもしれません。 それには、Doctrine、Zend Framework 2 および PHPUnit が含まれます。
-
opcache.fast_shutdown
bool -
有効にすると、それぞれに割り当てられたブロックを解放しない、高速シャットダウン・シーケンスが使用されます。 しかし、リクエスト変数のすべてのセットをひとまとめに割当てを解除することは、Zend Engine のメモリ・マネージャに依存します。
このディレクティブは、PHP 7.2.0 で削除されました。 高速なシャットダウンシーケンスの類の設定は、PHP本体に統合され、可能であれば自動的に使用されます。
-
opcache.enable_file_override
bool -
有効にすると、file_exists()、 is_file() および is_readable() が呼ばれた際に、 ファイルが既にキャッシュ済みかどうかをオペコード・キャッシュからチェックします。 これは、PHP スクリプトの存在および読み込み可能かをチェックするアプリケーションのパフォーマンスを改善させるかもしれません。 しかし、opcache.validate_timestamps が無効な場合に、 陳腐化した結果を返す危険があります。
-
opcache.optimization_level
int -
どの最適化パスが実行されるかコントロールするビットマスク。 デフォルトでは、すべての安全な最適化を適用します。 デフォルト値の変更が役に立つのは、