几个月前,我们将公司内部网从Symfony 2.3升级到Symfony 2.8,从PHP 5.6升级到7.0.10。
我读到这可能是因为向服务传递了一些参数。我通过传递并仅将容器设置为属性来纠正这个问题,即使我不确信这是一个好的做法。
在那之后,我们不再有这个问题。然而,两周后,一个新的“致命错误”随机出现:
PHP Fatal error: Class Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (SessionHandlerInterface::open) in C:\wamp\www\symfony\app\cache\prod\classes.php on line 393
或
PHP Fatal error: Class Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (SessionHandlerInterface::read) in C:\wamp\www\symfony\app\cache\prod\classes.php on line 393
我们只需重新启动服务器,它就可以工作了。我看到很多人都有类似的错误,但我找不到任何真正的解决方法。我不知道这是一个PHP错误还是由于Symfony 2.8-PHP7不兼容引起的,尽管如此
Symfony achieves 100% PHP7 compatibility
我将尝试了解此错误是否在内联网上的特定操作后出现。
我希望我的问题有所不同,有人会找到解决办法。如果我忘了什么,或者你想看到代码的另一部分,请告诉我!
我的配置:
:
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-4": { "": "src/" },
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
"require": {
"php": ">=5.3.9",
"symfony/symfony": "2.8.*",
"doctrine/orm": "^2.4.8",
"doctrine/doctrine-bundle": "~1.4",
"symfony/swiftmailer-bundle": "~2.3,>=2.3.10",
"symfony/monolog-bundle": "^3.0.2",
"sensio/distribution-bundle": "~5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"friendsofsymfony/user-bundle": "v2.0.0-beta2",
"friendsofsymfony/jsrouting-bundle": "dev-master",
"liuggio/ExcelBundle": "2.0.*@dev",
"knplabs/knp-snappy-bundle": "dev-master",
"h4cc/wkhtmltopdf-amd64": "0.11.0-RC1",
"symfony/intl": "^2.8",
"symfony/property-access": "^3.2",
"symfony/assetic-bundle": "^2.8"
},
"require-dev": {
"sensio/generator-bundle": "~3.0",
"escapestudios/symfony2-coding-standard": "~2.0"
},
"scripts": {
"symfony-scripts": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@symfony-scripts"
],
"post-update-cmd": [
"@symfony-scripts"
],
"build-params": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters"
]
},
"config": {
"bin-dir": "bin",
"platform": {
"php": "7.0.10"
}
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.8-dev"
}
}
}
作曲家秀
:
composer/ca-bundle 1.0.7
doctrine/annotations v1.4.0
doctrine/cache v1.6.1
doctrine/collections v1.4.0
doctrine/common v2.7.2
doctrine/dbal v2.5.12
doctrine/doctrine-bundle 1.6.8
doctrine/doctrine-cache-bundle 1.3.0
doctrine/inflector v1.1.0
doctrine/instantiator 1.0.5
doctrine/lexer v1.0.1
doctrine/orm v2.5.6
escapestudios/symfony2-coding-standard 2.11.0
friendsofsymfony/jsrouting-bundle dev-master 31462ad
friendsofsymfony/user-bundle 2.0.0-beta2
h4cc/wkhtmltopdf-amd64 0.11.0-RC1
incenteev/composer-parameter-handler v2.1.2
ircmaxell/password-compat v1.0.4
jdorn/sql-formatter v1.2.17
knplabs/knp-snappy v0.5.0
knplabs/knp-snappy-bundle dev-master 40b780f
kriswallsmith/assetic v1.4.0
liuggio/ExcelBundle dev-master a028c00
monolog/monolog 1.23.0
paragonie/random_compat v2.0.10
phpoffice/phpexcel 1.8.1
psr/log 1.0.2
sensio/distribution-bundle v5.0.20
sensio/framework-extra-bundle v3.0.26
sensio/generator-bundle v3.1.6
sensiolabs/security-checker v4.0.4
squizlabs/php_codesniffer 2.9.1
swiftmailer/swiftmailer v5.4.8
symfony/assetic-bundle v2.8.2
symfony/inflector v3.3.5
symfony/monolog-bundle v3.1.0
symfony/polyfill-apcu v1.4.0
symfony/polyfill-intl-icu v1.4.0
symfony/polyfill-mbstring v1.4.0
symfony/polyfill-php54 v1.4.0
symfony/polyfill-php55 v1.4.0
symfony/polyfill-php56 v1.4.0
symfony/polyfill-php70 v1.4.0
symfony/polyfill-util v1.4.0
symfony/property-access v3.3.5
symfony/security-acl v3.0.0
symfony/swiftmailer-bundle v2.6.2
symfony/symfony v2.8.25
twig/twig v2.4.3
willdurand/jsonp-callback-validator v1.1.0
这个问题刚刚被复制,我在打开intranet时看到它,所以我不知道它是在打开之前还是什么时候崩溃的。Symfony的prod.log中没有日志,但在php_error中。wamp日志,有两个错误:
[2017年7月31日15:22:30欧洲/巴黎]
(路径:C:\wamp\www\symfony\app/sessions)
在里面
C: \wamp\www\symfony\app\cache\prod\classes。php第156行
C: \wamp\www\symfony\web\app.php:0
[2017年7月31日15:22:30欧洲/巴黎]菲律宾比索2。
Symfony\Component\HttpKernel\Kernel->句柄()
C: \wamp\www\symfony\web\app.php:16
Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->句柄()
C: \wamp\www\symfony\vendor\symfony\symfony\src\symfony\Component\HttpKernel\Kernel。php:185
Symfony\Component\HttpKernel\HttpKernel->句柄()
[2017年7月31日15:22:30欧洲/巴黎]菲律宾比索5。
Symfony\Component\HttpKernel\HttpKernel->handleRaw()
[2017年7月31日15:22:30欧洲/巴黎]菲律宾比索6。
Symfony\Component\EventDispatcher\EventDispatcher->调度()
[2017年7月31日15:22:30欧洲/巴黎]菲律宾7。
Symfony\Component\EventDispatcher\EventDispatcher->doDispatch()
C: \wamp\www\symfony\app\cache\prod\classes.php:1864
[2017年7月31日15:22:30欧洲/巴黎]菲律宾9。
Symfony\Component\Security\Http\Firewall->onKernelRequest()
Symfony\Component\Security\Http\Firewall\LogoutListener->句柄()
[2017年7月31日15:22:30欧洲/巴黎]菲律宾比索11。
Symfony\Component\Security\Http\Logout\SessionLogoutHandler->注销()
C: \wamp\www\symfony\vendor\symfony\symfony\src\symfony\Component\Security\Http\Firewall\LogoutListener.php:127
[2017年7月31日15:22:30欧洲/巴黎]菲律宾比索12。
Symfony\Component\HttpFoundation\Session\Session->无效()
C: \wamp\www\symfony\vendor\symfony\symfony\src\symfony\Component\Security\Http\Logout\SessionLogoutHandler.php:34
Symfony\Component\HttpFoundation\Session\Session->迁移()
Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->重新生成()
C: \wamp\www\symfony\app\cache\prod\classes.php:533
[2017年7月31日15:22:30欧洲/巴黎]PHP 15.session\u regenerate\u id()
C: \wamp\www\symfony\app\cache\prod\classes.php:156
和
PHP致命错误:类
Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy
包含3个抽象方法,因此必须声明为抽象或
SessionHandlerInterface::关闭,SessionHandlerInterface::写入)
C: \wamp\www\symfony\app\cache\prod\classes。php第393行
C: \wamp\www\symfony\web\app.php:0
[2017年7月31日15:30:50欧洲/巴黎]菲律宾比索2。
C: \wamp\www\symfony\web\app.php:16
[2017年7月31日15:30:50欧洲/巴黎]菲律宾比索3。
Symfony\Component\HttpKernel\Kernel->启动()
C: \wamp\www\symfony\vendor\symfony\symfony\src\symfony\Component\HttpKernel\Kernel。php:182
[2017年7月31日15:30:50欧洲/巴黎]菲律宾比索4。
Symfony\Component\HttpKernel\Kernel->doLoadClassCache()
[2017年7月31日15:30:50欧洲/巴黎]菲律宾比索5。
Symfony\Component\ClassLoader\ClassCollectionLoader::load()
C: \wamp\www\symfony\vendor\symfony\symfony\src\symfony\Component\HttpKernel\Kernel。php:411
C: \wamp\www\symfony\vendor\symfony\symfony\src\symfony\Component\ClassLoader\ClassCollectionLoader.php:96
:
Arf,2个循环参考再次出现:
[2017-08-01 15:41:00]请求。关键:
处理时引发异常
例外情况
(Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException:
会话.存储。本地->细枝控制器。例外->细枝->
安全。csrf。令牌管理器“
在
第281行){“异常”:“[对象]
0):检测到服务“会话”的循环引用,路径:
细枝->安全.csrf.token\u管理器\“。位于
C: \wamp\www\symfony\vendor\symfony\symfony\src\symfony\Component\DependencyInjection\Container.php:281)“}
[]
例外情况
(Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException:
检测到服务的循环引用
“security.firewall.map.context.main->
security.authentication.rememberme.services.simplehash。主要->
fos_user.user_提供程序。用户名->fos_用户。用户管理器->
安全.身份验证.管理器“
C: \wamp\www\symfony\vendor\symfony\symfony\src\symfony\Component\DependencyInjection\Container.php
第281行){“异常”:“[对象]
(Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException(代码:
\“fos\u user.user\u provider.username\”,路径:
\“security.firewall.map.context.main->
security.authentication.rememberme.services.simplehash。主要->
细枝控制器。例外->细枝->安全授权检查器->
C: \wamp\www\symfony\vendor\symfony\symfony\src\symfony\Component\DependencyInjection\Container.php:281)“}
[]