我正在使用symfony,当我输入控制台时:
php app / console doctrine:schema:create
我有下一个错误
[学说\ DBAL \异常\ DriverException]
驱动程序中发生异常:找不到驱动程序
[学说\ DBAL \驱动\ PDOException]
找不到司机
[PDOException]
找不到司机
我一直关注此链接以便将其排序
PDOException “could not find driver” in php
这是我在运行php -m
时得到的结果root @asus-K53SD:/ opt / lampp / htdocs / symfonycurso #php -m
root@asus-K53SD:/opt/lampp/htdocs/symfonycurso# php -m [PHP Modules] calendar Core ctype date dom exif fileinfo filter ftp gettext hash iconv json libxml openssl pcntl pcre PDO pdo_sqlite Phar posix readline Reflection session shmop SimpleXML sockets SPL sqlite3 standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter xsl Zend OPcache zlib Zend Modules Zend OPcache
我取消注释并重新启动服务器
extension = php_pdo_pgsql.dll
这是我的参数.yml
添加了database_driver:删除了pdo_mysql和密码(之前为null)
# This file is auto-generated during the composer install parameters: database_driver : pdo_mysql database_host: 127.0.0.1 database_port: database_name: blog database_user: root database_password: mailer_transport: smtp mailer_host: 127.0.0.1 mailer_user: mailer_password: secret: ThisTokenIsNotSoSecretChangeIt
任何人都知道如何解决这个错误?可能是我在PHP7上工作的问题
注意:在linux上使用lampp
答案 0 :(得分:3)
使用 LAMP ,您无需在.ini文件中启用php_pdo_mysql.dll。 而是在cli中运行以下命令,
sudo apt-get install php7.0-mysql
(使用您使用的特定PHP版本。)
现在,您可以通过运行pdo_mysql
命令来查看php -m
模块。
然后,清除symfony中的缓存并运行symfony命令。
答案 1 :(得分:0)
检查你的php版本和php的模块版本。 php更新从7.0到7.1后我遇到了问题。 PHP迁移应该可以帮到你。例如http://php.net/manual/en/migration71.php
答案 2 :(得分:0)
通常在symfony找不到驱动程序连接到mysql时发生。对我来说,我没有安装mysql驱动程序,所以我在终端上做了以下操作:
// I have php version 7.2
sudo apt-get install php7.2-mysql to install the mysql
然后我在终端中跟踪以下内容来创建数据库
php bin/console doctrine:database:create
效果很好。我希望这对遇到类似问题的人有帮助