使用opcache有一个缺点,就是更新了php代码后可能不会立刻生效,由于opcache有个有效时间的设置,只有过时后才会从新生成opcode不然还会沿用原来的缓存的opcode,这里,提供三种思路解决这种问题:php
(1)根据业务实际状况,合理设置opcache的过时时间,也就是opcache.revalidate_freq值 (2)本身写一个php脚本,调用opcache_reset()函数重置全部opcache缓存字节码,或者使用opcache_invalidate(PHPfileDir,true)重置指定php文件的缓存字节码。 (3)最简单粗暴的方法,可当即生效的方式,就是直接重启php-fpm(nginx fast-cgi模式)或apache(apache-handler模式)。