我正在尝试将zend-cache与zend-rbac一起使用。
zend-rbac还可以,但是当我尝试添加zend-cache时,我收到了以下消息:
无法将服务“ FilesystemCache”解析为工厂;您确定是在配置过程中提供的吗?
我在global.php上的缓存配置如下:
// Cache configuration.
'caches' => [
'FilesystemCache' => [
'adapter' => [
'name' => Filesystem::class,
'options' => [
// Store cached data in this directory.
'cache_dir' => './data/cache',
// Store cached data for 1 hour.
'ttl' => 60*60*1
],
],
'plugins' => [
[
'name' => 'serializer',
'options' => [
],
],
],
],
],
在我的RbacManagerFactory中,我这样称呼它:
$cache = $container->get('FilesystemCache');
我已经尝试在我的模块中配置FilesystemService,就像这样:
'service_manager' => [
'factories' => [
\Zend\Cache\Storage\Adapter\FilesystemService::class => InvokableFactory::class,
],
],
但这没用
我需要配置更多东西吗?
编辑2018-10-29
当我尝试运行sample时,出现此错误:
[2018年10月29日星期一12:06:13.097747] [php7:warn] [pid 943] [客户端127.0.0.1:48824] PHP警告:file_put_contents(data / cache / module-config-cache.application.config。 cache.php):无法打开流:第65行的/var/www/html/roledemo/vendor/zendframework/zend-modulemanager/src/Listener/AbstractListener.php中没有此类文件或目录 [2018年10月29日星期一12:06:13.098593] [php7:warn] [pid 943] [客户端127.0.0.1:48824] PHP警告:file_put_contents(data / cache / module-classmap-cache.application.module.cache.php ):无法打开流:在第65行的/var/www/html/roledemo/vendor/zendframework/zend-modulemanager/src/Listener/AbstractListener.php中没有此类文件或目录 [2018年10月29日星期一12:06:13.112886] [php7:error] [pid 943] [客户端127.0.0.1:48824] PHP致命错误:方法Zend \ View \ Helper \ HeadTitle :: __ toString()不得引发异常,捕获到Zend \ I18n \ Exception \ ExtensionNotLoadedException:Zend \ I18n \ Translator组件需要/var/www/html/roledemo/module/Application/view/layout/layout.phtml第0行上的国际PHP扩展
我无法访问任何URL。
可以是我的php或apache版本吗?
答案 0 :(得分:0)
所以我错过了一些东西,这就是为什么它以前不起作用的原因:
添加
'rbac_manager'=> [ '断言'=> [Service \ RbacAssertionManager :: class], ]
到module / Login / config / module.config.php