0

尝试使用 php 7.3 启动 Symfony 应用程序 3.4 会引发异常:

致命错误:未捕获的 LogicException:缓存必须返回 ClassMetadata 的实例,但在 /var/www/contoso/vendor/jms/metadata/src/Metadata/MetadataFactory.php:73 中获得了 1. 堆栈跟踪:

.0 /var/www/contoso/vendor/jms/security-extra-bundle/Security/Authorization/Interception/SecurityPointcut.php(84): Metadata\MetadataFactory->getMetadataForClass('AppBundle\Contr...')

.1 /var/www/contoso/vendor/jms/aop-bundle/DependencyInjection/Compiler/PointcutMatchingPass.php(149): JMS\SecurityExtraBundle\Security\Authorization\Interception\SecurityPointcut->matchesMethod(Object(ReflectionMethod))

.2 /var/www/contoso/vendor/jms/aop-bundle/DependencyInjection/Compiler/PointcutMatchingPass.php(65): JMS\AopBundle\DependencyInjection\Compiler\PointcutMatchingPass->processDefinition(Object(Symfony\Component\DependencyInjection\Definition ), 数组, 数组)

.3 /var/www/contoso/vendor/symfony/symfony/src/Sy 在第 73 行的 /var/www/contoso/vendor/jms/metadata/src/Metadata/MetadataFactory.php

我使用 chmod 777 将文件权限更改为 app/cache 和 app/logs 文件夹,但无法正常工作。

4

1 回答 1

1

好吧,经过几个小时后,我发现这个问题出在 memcached 扩展上。所以我最终用 phpbrew 安装。

phpbrew ext install memcached stable
phpbrew ext enable memached

我在 GitHub 上找到了基于此线程的参考

如果你不使用 phpbrew 试试这个链接

于 2019-07-13T10:30:00.477 回答