PHP函数参考01-opcache
目录
opcache
OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能,存储预编译字节码的好处就是省去了每次加载和解析 PHP 脚本的开销。
PHP 5.5.0 及后续版本中已经绑定了 OPcache 扩展,可通过phpinfo查看zend OPcache信息。
-
opcache的用处
没有使用opcache的脚本输出:
php script => parse => compile => execute => output
使用opcache的脚本再次输出:
php script => opcache => execute => output
-
opcache php.ini配置:
使用下列推荐设置来获得较好的性能:
opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1
-
opcache常用函数:
-
opcache_compile_file — 无需运行,即可编译并缓存 PHP 脚本。
opcache_compile_file( string $file) : boolean
-
opcache_is_script_cached — Tells whether a script is cached in OPCache。
opcache_is_script_cached( string $file) : bool
-
opcache_reset — 重置字节码缓存的内容
opcache_reset() : boolean
-
APCu扩展
APC 插件曾经包含字节码和对象缓存功能,但是自从 Zend 官方推出了 Opcache 后,APC 开发者就将字节码缓存功能删掉了,后来推出了 APCu 只保留对象缓存。APCu是APC的升级版。
也就是现在的APCu扩展像是memcache和redis一样的对象缓存功能。
Yac扩展
Yac 是为PHP实现的一个基于共享内存, 无锁的内容Cache。
Yac (Yet Another cache)是鸟哥惠新宸的作品之一。
could be used to replace APC, local memcache.
经常用来代替APC,本地缓存。