Symfony 3 - 驱动程序中发生异常:找不到驱动程序

Ric*_*Raz 5 php mysql pdo symfony doctrine-orm

我只是尝试symfony 3,我使用Doctrine ORM将数据插入数据库.当我尝试运行我的查询时

$customer = new Customer();
$customer->setAddress('Some Address');
$customer->setName('Customer 1');

$order->setQuantity('100');
$order->setDate(date('Y-m-d'));
$order->setCustomer($customer);

$em = $this->getDoctrine()->getManager();
$em->persist($customer);
$em->persist($order);
$em->flush();
Run Code Online (Sandbox Code Playgroud)

但它返回一个例外:

Uncaught PHP Exception Doctrine\DBAL\Exception\DriverException: "An exception occurred in driver: could not find driver" at /home/hei/Sites/practice/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 121
Run Code Online (Sandbox Code Playgroud)

Parameters.yml:

parameters:
    database_host: 127.0.0.1
    database_port: null
    database_name: practice
    database_user: root
    database_password: null
Run Code Online (Sandbox Code Playgroud)

Config.yml

doctrine:
    dbal:
        driver: pdo_mysql
        host: '%database_host%'
        port: '%database_port%'
        dbname: '%database_name%'
        user: '%database_user%'
        password: '%database_password%'
Run Code Online (Sandbox Code Playgroud)

我还检查扩展是否已启用并通过php -m和phpinfo()加载.它说PDO和PDO_Mysql已启用.

然后在php.ini中添加这两行:

extension=pdo.so
extension=pdo_mysql.so
Run Code Online (Sandbox Code Playgroud)

但我仍然有相同的PDO例外.

我的操作系统是Ubuntu 17.1

Nig*_*fox 14

我相信你的系统中缺少php-mysql包.使用该命令安装软件包

sudo apt-get install php-mysql
Run Code Online (Sandbox Code Playgroud)

我希望这能解决你的问题.

我认为您还需要重启Apache才能解决问题.安装php-mysql后,使用以下命令重启Apache

 sudo service apache2 restart.
Run Code Online (Sandbox Code Playgroud)


小智 0

首先,您必须将 MySQL 端口号从 更改null3306。就是这样。我认为你没有 MySQL 密码,这就是你没有写任何东西的原因。

祝你有美好的一天。