您好我有一台Debian Wheezy VM,我最近升级到PHP 5.6,它附带了OpCache 5.4,并且单独安装了OpCache。因为我已经完成了所有我的脚本(我使用Laravel顺便说一句)已经被缓存,我不想要,所以我决定禁用opcache。
/etc/php5/mods-available/opcache.ini:
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=2
opcache.fast_shutdown=1
opcache.enable_cli=0
opcache.enable=0
但是,如果我从apache php.ini文件中禁用,则会出现以下错误:
ReflectionException thrown with message "Class SettingRepository does not exist"
但是如果我启用它并且只是在我需要看到新的更改时重置opcache它们被正确渲染,我可以在我的作曲家自动加载类映射中看到它们被加载,即
'SettingRepository' => $baseDir . '/app/repositories/SettingRepository.php',
任何想法我做错了什么?我有一种感觉它在apache中的配置是不正确的但我不太确定,有什么建议吗?
答案 0 :(得分:0)
保持启用并设置opcache.revalidate_freq=0
并重启apache
将以下内容放在laravel应用程序中,仅在laravel中禁用缓存,并且只在调试环境中使用:
if (env('APP_DEBUG')) ini_set('opcache.revalidate_freq', '0');
也许您需要将APP_DEBUG
更改为您的环境。