我今天尝试了Symfony 2,并尝试使用Doctrine。
但是当我在命令行中使用命令php app/console doctrine:schema:create
时,它会返回以下错误:
[PDOException]
could not find driver
doctrine:schema:create [--dump-sql] [--em[="..."]]
我的php.ini文件和phpinfo()清晰显示PDO驱动程序已加载。我还在纯PHP中创建了一个小脚本,使用PDO连接到我的数据库,它工作正常。没有错误,因此PDO安装良好且有效。
使用最新版本的EasyPHP在我的计算机上运行PHP和MySQL。
Doctrine可能出了什么问题?我现在应该在哪里看看?
答案 0 :(得分:14)
是的,如果您在命令行中键入php -m
,则应列出PDO
和pdo_mysql
。在我的情况下,它只显示PDO
,这就是为什么它找不到MySQL驱动程序。
正如您已经评论过的那样,我认为这是因为PHP CLI无法找到合适的php.ini
文件。
答案 1 :(得分:10)
答案 2 :(得分:9)
sudo apt-get install php5-mysql
会做魔术
答案 3 :(得分:2)
在命令行上,检查您是否有PDO支持:
php -m|grep -i pdo
如果没有,请搜索php mysql支持(Ubuntu):
apt-cache search php5*|grep mysql
安装它:
sudo apt-get install php5-mysql
再次安装packagem检查后,您应该看到PDO mysql支持。
答案 4 :(得分:0)
就我而言,我尝试从本地终端而不是从docker容器运行bin / console。
也许会对其他人有帮助!
答案 5 :(得分:0)
如果您在 php 安装中编辑 php.ini,该 .ini 文件是 phpinfo() 中指定的文件,并且您的 php.ini 更改仍然没有显示在 symfony 项目中,您需要创建一个php.ini 在您项目的根目录中,并在那里添加您要覆盖的值。
扫描此目录以获取其他 .ini 文件现在应该会显示您的项目根目录。
解析的其他 .ini 文件应显示新项目特定的 php.ini 文件。
(我要在本地运行一个 Symfony 3.3 应用程序)