首先主机环境是从lnmp.org下载到的一键安装包而已。下载到手之后,选择的php版本为7.0,那么问题来了, 敲以下命令查看php版本的时候会看到opcache有没有在运行:
/usr/local/php/bin/php -v
发现php-fpm运行时没有夹带opcache, 既然没有启用opcache, 如何让它跑起来呢? 解决方法如下:
vim /usr/local/php/etc/php.ini
这样, 用编辑器打开php.ini配置文件之后, 搜索opcache关键字, 找到如下配置段
;开关 0 改1 opcache.enable=0 ; Determines if Zend OPCache is enabled for the CLI version of PHP ; 也就是说, 用cli命令行模式运行php脚本要不要用到opcache, 这里看你自己公司业务情况 opcache.enable_cli=1 ; 设置共享内存大小, 单位兆字节, 根据你主机现有的内存大小来改 Mbopcache.memory_consumption=64 ;如果启用,那么 OPcache 会每隔 opcache.revalidate_freq 也就是下边这一选项设定的秒数检查脚本是否更新。 ;如果禁用此选项,须用 opcache_reset() 或者 opcache_invalidate() 函数来手动重置 OPcache,也可以 通过重启 Web 服务器来使文件系统更改生效。 opcache.validate_timestamps=1 ; 考虑配置成60秒 opcache.revalidate_freq=60
注意: 最后还要在文档结尾加一句:
zend_extension="opcache.so"
下边留一行空行, :eq保存OK! 重启php-fpm
service php-fpm restart
搞定。注意,如果你马虎写成了extension="opcache.so"那么会报错。
后记
如果你是swoole, 我建议你还是别用opcache了。swoole已经足够快, 启用opcache没什么卵用。