所以,我昨天开始使用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服务器上运行。
答案 0 :(得分:0)
您的环境中安装了多个版本的php。
首先,看看Symfony使用的PHP版本,以及是否启用了PDO mysql驱动程序。
要做到这一点,最简单的方法是查看symfony调试栏, 指定版本的位置(3.1.X)。
您将看到PHP的版本以及对phpinfo的访问权限。如果你有一行就搜索它:PDO驱动程序:mysql
还要检查你的config.yml
doctrine:
dbal:
driver: pdo_mysql