【发布时间】:2016-07-05 11:04:51
【问题描述】:
从 5.6 到 7 的 php 更新后,Symfony 3 引发了这个异常:
致命错误:类 Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy 包含 1 个抽象方法,因此必须声明为抽象方法或 实现其余方法(SessionHandlerInterface::write) \vendor\symfony\symfony\src\Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy.php 第 19 行
Symfony 3 与 PHP 7 不兼容吗?相同的代码适用于 php 5.6
composer show -i 输出:
doctrine/annotations v1.2.7 Docblock Annotations Parser
doctrine/cache v1.6.0 Caching library offering an o...
doctrine/collections v1.3.0 Collections Abstraction library
doctrine/common v2.6.1 Common Library for Doctrine p...
doctrine/dbal v2.5.3 Database Abstraction Layer
doctrine/doctrine-bundle 1.6.1 Symfony DoctrineBundle
doctrine/doctrine-cache-bundle 1.2.2 Symfony Bundle for Doctrine C...
doctrine/inflector v1.1.0 Common String Manipulations w...
doctrine/instantiator 1.0.5 A small, lightweight utility ...
doctrine/lexer v1.0.1 Base library for a lexer that...
doctrine/orm v2.5.3 Object-Relational-Mapper for PHP
incenteev/composer-parameter-handler v2.1.2 Composer script handling your...
jdorn/sql-formatter v1.2.17 a PHP SQL highlighting library
kriswallsmith/assetic v1.3.2 Asset Management for PHP
monolog/monolog 1.17.2 Sends your logs to files, soc...
paragonie/random_compat v1.2.2 PHP 5.x polyfill for random_b...
psr/log 1.0.0 Common interface for logging ...
sensio/distribution-bundle v5.0.3 Base bundle for Symfony Distr...
sensio/framework-extra-bundle v3.0.12 This bundle provides a way to...
sensio/generator-bundle v3.0.3 This bundle generates code fo...
sensiolabs/security-checker v3.0.2 A security checker for your c...
swiftmailer/swiftmailer v5.4.1 Swiftmailer, free feature-ric...
symfony/assetic-bundle v2.7.1 Integrates Assetic into Symfony2
symfony/monolog-bundle v2.8.2 Symfony MonologBundle
symfony/phpunit-bridge v2.8.1 Symfony PHPUnit Bridge
symfony/polyfill-intl-icu v1.1.1 Symfony polyfill for intl's I...
symfony/polyfill-mbstring v1.1.1 Symfony polyfill for the Mbst...
symfony/polyfill-php56 v1.1.1 Symfony polyfill backporting ...
symfony/polyfill-php70 v1.1.1 Symfony polyfill backporting ...
symfony/polyfill-util v1.1.1 Symfony utilities for portabi...
symfony/swiftmailer-bundle v2.3.9 Symfony SwiftmailerBundle
symfony/symfony v3.0.3 The Symfony PHP framework
twig/twig v1.24.0 Twig, the flexible, fast, and...
php.ini
[opcache]
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=6000
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.save_comments=1
opcache.fast_shutdown=1
【问题讨论】:
-
请显示
composer show -i的输出 -
你使用 Opcache 并且需要刷新它吗?还要确保您不要在多个项目之间共享相同的 Opcache,因为它们可能会干扰。
-
还要检查您是否在最新版本的 PHP 7 (7.0.4) 上运行。我记得在早期版本中修复了一个与此类似的错误。
-
@xabbuh 是的,我使用 opcache。如果我禁用 opcache 所有工作。项目单独在服务器上(不是 Opcache 共享)
-
我刚刚在本地机器上使用 PHP 7 的 3.1 遇到了这个问题。我切换到 5.6 并且它再次工作。所以我把它调回 7 看看它是否仍然坏掉,但它又恢复了正常工作。我目前在 Windows 10 机器上使用 WAMP。我认为这肯定与 opcache 有关,重新启动 apache/切换版本似乎并不能在它出现时修复它。