[英]Laravel PHP5.6 Class not found until opcache enabled
嗨我有一个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中的配置是不正确的但我不太确定,有什么建议吗?
保持启用状态并设置opcache.revalidate_freq=0
并重启apache
将以下内容放在laravel应用程序中以仅禁用laravel的缓存,并且仅在调试环境中:
if (env('APP_DEBUG')) ini_set('opcache.revalidate_freq', '0');
也许您需要将APP_DEBUG
更改为您的环境。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.