繁体   English   中英

在启用opcache之前找不到Laravel PHP5.6类

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM