Tech memo

日々学んだ技術のびぼうろく

OPcache / APCu / APC を使えるPHPのバージョンとそれぞれの違い

概要

PHP の実行速度高速化のためにキャッシュを導入するとき、
OPcache, APCu, APC がそれぞれどの PHP のバージョンに対応しているのか、
それぞれがどういう機能なのかがいつもわからなくなるためメモ。

目次

スポンサーリンク

キャッシュエクステンションとPHPのバージョン

PHP5.4 以前 PHP5.5 以降
APC OPcache + APCu

それぞれの機能

Zend OPcache

オペコードキャッシュ(コンパイル後のコードをメモリに保存して再利用)

APCu

ユーザーキャッシュ(オブジェクトや変数をメモリに保存して、別のリクエストからそれを再利用)

APC

オペコードキャッシュ + ユーザーキャッシュ

PHPのバージョンによってキャッシュが異なる理由

APC のオペコードキャッシュ機能に深刻なバグがあり、PHP5.3の時点でPHPから削除された。 ↓ APC のオペコードキャシュ機能を削除し、ユーザキャッシュ機能だけを残した APCu がリリースされる。 オペコードキャッシュ機能は OPcache がカバーすることに。 ↓ その後、APC の安定板がリリースされたが PHP5.5には対応していない。 ↓ 結果、PHP5.5以降は OPcache + APCu となった。

関連記事

www.yjhm214.com

スポンサーリンク