php 无法解析服务“favicon. ico”到网站首页!

r1wp621o  于 2023-09-29  发布在  PHP
关注(0)|答案(1)|浏览(142)

我正在学习Laminas Framework for PHP,并扩展了官方文档中提供的相册教程的功能。我已经成功地将登录和注册等功能添加到相册页面。最近,我开始集成Doctrine来实现数据库存储和对象Map。
在合并Doctrine之前,一切都运行得很顺利。然而,我遇到了与Composer依赖项中的“laminas\di”包相关的问题,这导致了Doctrine的存储问题。我收到的错误消息是:

无法创建DoctrineModule\Cache\LaminasStorageCache”。原因:无法解析类DoctrineModule\Cache\LaminasStorageCache(请求为DoctrineModule\Cache\LaminasStorageCache)中Laminas\Cache\Storage\StorageInterface类型的参数“storage”的值。

任何关于如何解决此“Laminas\Authentication\AuthenticationService”错误的见解或指导将不胜感激。
为了解决这个问题,我决定从Composer依赖项中删除“laminas/laminas-di”包。虽然这解决了Doctrine的存储问题,但我现在面临一个新的错误消息:

无法解析服务“Laminas\Authentication\AuthenticationService”到工厂;您确定在配置时提供了它吗?

值得注意的是,在我的项目中,我没有对“laminas/laminas-di”的任何显式依赖,因为我通过Composer删除了它,这就是为什么与“laminas\di”相关的错误令人困惑的原因。这是我的module.config.php,如果它可以帮助

return [
    'Laminas\Cache',
    'Laminas\Mvc\Plugin\FlashMessenger',
    'Laminas\Paginator',
    'Laminas\Session',
    'Laminas\Navigation',
    'Laminas\Form',
    'Laminas\I18n',
    'Laminas\InputFilter',
    'Laminas\Filter',
    'Laminas\Hydrator',
    'Laminas\Db',
    'Laminas\Router',
    'Laminas\Validator',
    'Laminas\Diactoros',
    'DoctrineModule',
    'Laminas\Cache\Storage\Adapter\Filesystem',
    'Laminas\Cache\Storage\Adapter\Memory',
    'DoctrineORMModule',
    'Application',
    'Us',
    'Album',
    'Blog',
];
jtw3ybtb

jtw3ybtb1#

由于laminas-di在应用程序中注册为一个模块,因此通过抽象工厂进行了某种自动连接,这是因为我没有为它定义工厂。奇怪的是,lamians\di已经在我的项目中,当我不记得调用它。简而言之,我只需要添加一个工厂到我的Laminas\Authentication\AuthenticationService,简化后看起来像这样:

'service_manager' => [
    'factories' => [
        AuthenticationService::class => function ($container) {
            $authService = new AuthenticationService();
            return $authService;
        },
    ],
],

相关问题