Symfony2和HHVM Doctrine \ DBAL \ Driver \ PDOConnection :: prepare()声明必须兼容

时间:2014-02-19 19:52:51

标签: symfony hhvm

我正在尝试在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已启用

2 个答案:

答案 0 :(得分:6)

这个问题是在2个月前通过拉动请求修复到doctrine / dbal的主分支。但是,根据您使用的Symfony 2的分支,可能不包括该教义/ dbal修复。

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

如果可以使用包含此最新学说/ dbal修复的Symfony 2版本,我认为您会看到该问题消失。

答案 1 :(得分:2)

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

doctrine / orm:2.5。 @dev doctrine / dbal:2.5。 @dev

要安全升级,请打开composer.json文件,找到并更改如下版本:

composer.json

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

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