lnmp 60秒的服务器缓存时间 opcache造成的问题,php修改上传之后没有生效

[ 2018-11-01 15:51:17 | 作者: admin ]
字号: | |
1、问题

  php代码写好之后执行发现居然没有生效,打断点,改代码、刷新都没有达到预期的效果。但是间隔60秒之后刷新就看到效果了,或者删除文件就里面见效。

2、原因

  从phpinfo()页面输出搜索"60",发现了这个参数opcache.revalidate_freq=60。原来是Opcache模块设定了60秒缓存时间,需要60秒后才重新生成操作码。详细可见《深入理解PHP Opcode缓存原理》

3、解决方案

  将参数opcache.revalidate_freq设置为0,重启php-fpm:
service php-fpm restart



查看opcache状态
php -i |grep opcache

// 结果如下,可以看出opcache.enable => On,处于开启状态
Configure Command => './configure' '--prefix=/usr/local/php-fpm' '--with-config-file-path=/usr/local/php-fpm/etc' '--with-config-file-scan-dir=/usr/local/php-fpm/etc/conf.d' '--enable-opcache' '--enable-fpm' '--enable-calendar' '--enable-ftp' '--with-gmp' '--with-openssl' '--enable-pcntl' '--enable-shmop' '--enable-sysvmsg' '--enable-sysvsem' '--enable-wddx' '--with-xsl' '--enable-bcmath' '--with-libxml-dir' '--enable-mbstring' '--enable-sockets' '--enable-zip' '--with-zlib' '--with-mcrypt' '--enable-exif' '--with-curl' '--enable-mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-mysql=mysqlnd' '--with-gd' '--with-vpx-dir' '--with-jpeg-dir' '--with-png-dir' '--with-zlib-dir' '--with-tidy' '--with-xpm-dir' '--with-freetype-dir' '--enable-gd-native-ttf' '--with-gettext' '--with-bz2'
/usr/local/php-fpm/etc/conf.d/opcache.ini,
opcache.blacklist_filename => no value => no value
opcache.consistency_checks => 0 => 0
opcache.dups_fix => Off => Off
opcache.enable => On => On
opcache.enable_cli => Off => Off
opcache.enable_file_override => Off => Off


关闭opcache
1. 打开opcache配置文件,如上:
vi /usr/local/php-fpm/etc/conf.d/opcache.ini

2. 注释掉
;zend_extension=opcache.so
;opcache.enable=1
;opcache.enable_cli=0 //disable php_cli
;opcache.memory_consumption=256 //共享内存大小, 这个根据你们的需求可调
;opcache.interned_strings_buffer=16 //interned string的内存大小, 也可调
;opcache.max_accelerated_files=40000 //最大缓存的文件数目
;opcache.revalidate_freq=60 //60s检查一次文件更新
;opcache.fast_shutdown=1
;opcache.save_comments=0 //不保存文件/函数的注释

3. 重启PHP
/etc/init.d/php-fpm reload
[最后修改由 admin, 于 2020-02-22 16:00:33]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2549

这篇日志没有评论。

此日志不可发表评论。