Symfony db交互; PDOException:找不到驱动程序

时间:2016-09-01 23:29:56

标签: php symfony pdo orm

所以,我昨天开始使用symfony,在按照教程进行操作时,我遇到了一个数据库。

按照步骤(创建实体并使用控制台命令创建表)后,现在可以将实体持久保存在表中。

// Entity setup
$rep = new Entity\Reparto();
$rep->setDescrizione("Standard rep");
$rep->setTipo("0");
$rep->setIdAzienda(0);

// DB operation
$em = $this->getDoctrine()->getManager();
$em->persist($rep); <-- Error here
$em->flush();

return new Response("Saved!");

这是我打电话的控制器;
$em->persist($rep)行,我收到两次以下异常:

"PDOException: could not find driver"

通过删除该行,不会抛出任何异常,但显然没有任何反应

我已经检查了php.ini文件(只有一个):
我取消注释extension=php_pdo_mysql.dll

php -m同时显示PDO和pdo_mysql

我正在运行安装了作曲家的Symfony(3.1)的最新版本,两者都在php 5.5.38,5.6.18和7.0.3上运行,在Windows 10 64位上运行。
整个事情是在创建simfony项目时下载的专用Web服务器上运行。

1 个答案:

答案 0 :(得分:0)

您的环境中安装了多个版本的php。

首先,看看Symfony使用的PHP版本,以及是否启用了PDO mysql驱动程序。

要做到这一点,最简单的方法是查看symfony调试栏, 指定版本的位置(3.1.X)。

您将看到PHP的版本以及对phpinfo的访问权限。如果你有一行就搜索它:PDO驱动程序:mysql

还要检查你的config.yml

doctrine:
    dbal:
        driver:   pdo_mysql