Symfony 3找不到pdo_mysql驱动程序

时间:2017-01-11 21:07:19

标签: php mysql symfony pdo doctrine-orm

我的symfony项目找不到pdo_mysql驱动程序。我正在使用debian服务器。相同的配置适用于OSX,但不在此处。当我使用php -m命令时它显示驱动程序以及php -i | grep pdo_mysql show:

/etc/php/7.0/cli/conf.d/20-pdo_mysql.ini,
API Extensions => mysqli,pdo_mysql
pdo_mysql
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock =>     /var/run/mysqld/mysqld.sock

这是我的symfony配置和参数:

parameters:
database_host: 127.0.0.1
database_port: 3306
database_name: bisol_time
database_user: root
database_password: root

配置:

doctrine:
dbal:
    driver:   pdo_mysql
    host:     "%database_host%"
    port:     "%database_port%"
    dbname:   "%database_name%"
    user:     "%database_user%"
    password: "%database_password%"
    charset:  UTF8

那我该怎么办?我尝试了一切并阅读了这个问题下的每个主题,但我没有找到解决方案。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

这与Symfony无关,但与系统设置无关。

正如您在CLI中运行PHP时所看到的那样,它使用来自model.fit(train, labels, nb_epoch=100, batch_size=100) 的配置(注意路径中的 cli )。虽然Apache使用时很可能使用/etc/php/7.0/cli/conf.d/20-pdo_mysql.ini或类似的/etc/php/7.0/apache2/conf.d/20-pdo_mysql.ini

您可以转到/etc/php/7.0/或使用info.php创建<?php phpinfo();并查看配置文件的位置。

似乎在apache的PHP配置中没有安装驱动程序。

答案 1 :(得分:1)

我相信PHP 5有一个不同的pdo。 在我的系统(CentOS 6)上,我有php70u-pdo.i686。我使用yum list installed |grep pdo进行了检查。我无法指导您在OSX上安装,我怀疑您需要使用brew,但请检查您是否可以为PHP7安装pdo并在php.ini文件中启用它。

这听起来像是问题。

编辑#2基于评论

你可以尝试:

apt-get install php7.0 php7.0-mysql

我认为mysql也安装了pdo。试试吧。不确定它是否会起作用。