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