3

我正在尝试在 HHVM 机器上建立一个 symfony2 项目,

HHVM 在 FastCGI 上运行,如 hhvm 教程中所述,因此在 Debian 上的 apache2 服务器后面运行。

我已经创建了所有内容,但是当我尝试运行我的应用程序时,出现以下错误:

ContextErrorException: 16777217: Declaration of Doctrine\DBAL\Driver\PDOConnection::prepare() must be compatible with that of Doctrine\DBAL\Driver\Connection::prepare() in /LOCATION/shared/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php line 30

我认为这与 HHVM 中的 PDO 有关,但我使用 class_exists('PDO') 对其进行了测试,并且表示启用了 PDO

4

2 回答 2

6

这是一个大约 2 个月前通过向学说/dbal 的主分支的拉取请求修复的问题。但是,根据您使用的 Symfony 2 的分支,可能不包括该教义/dbal 修复程序。

https://github.com/doctrine/dbal/pull/373

如果可以使用包含这个最新的学说/dbal 修复的 Symfony 2 版本,我想你会看到这个问题消失了。

于 2014-02-20T04:35:42.263 回答
2

我遇到了同样的问题,将教义/orm 和教义/dbal 升级到最新版本(如下所列)解决了我的问题。

学说/规则:2.5。@dev 学说/dbal:2.5。@dev

要安全升级,请打开您的composer.json文件,查找并更改版本,如下所示:

作曲家.json

"require": {
    // ... other package requirements
    "doctrine/orm": "~2.5.*@dev",
    "doctrine/dbal: "~2.5.*@dev", 
    // .. more packages

然后运行composer update doctrine/*它将删除旧版本的学说并更新所有学说包。

于 2014-10-27T10:17:42.553 回答