You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony执行doctrine:database:create创建MySQL数据库失败

问题:Symfony Doctrine 创建MySQL数据库失败

执行命令:

symfony console doctrine:database:create

返回错误:

Could not create database "app" for connection named default
An exception occurred in the driver: could not find driver

已尝试操作(未解决):

composer require doctrine/doctrine-bundle
composer require doctrine/orm
composer require symfony/orm-pack
composer require symfony/doctrine-bridge
composer require symfony/maker-bundle
apt-get install php-mysql php-pdo

环境信息

  • Symfony CLI版本:5.7.5 (稳定版,2023-12-07T15:46:32Z)
  • PHP版本:8.2.13 (cli)
  • MySQL版本:8.0.35-0ubuntu0.22.04.1 (Ubuntu)
  • 系统:linux 5.15.0-91-generic

数据库配置(.env文件)

DATABASE_URL="mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8&charset=utf8mb4"

解决方案

1. 确认PHP CLI已加载MySQL扩展

安装php-mysql后,CLI版本的PHP可能未自动加载扩展,执行以下命令检查:

php -m | grep mysql
php -m | grep pdo_mysql

若没有输出,手动启用扩展:

# 为PHP 8.2 CLI创建扩展软链接
sudo ln -s /etc/php/8.2/mods-available/mysql.ini /etc/php/8.2/cli/conf.d/20-mysql.ini
sudo ln -s /etc/php/8.2/mods-available/pdo_mysql.ini /etc/php/8.2/cli/conf.d/20-pdo_mysql.ini

重启终端后再次检查扩展是否加载。

2. 验证Symfony使用的PHP版本

Symfony CLI可能使用与系统默认不同的PHP版本,执行以下命令确认:

symfony php -v
symfony php -m | grep pdo_mysql

若版本不符或缺少扩展,切换到正确的PHP版本:

# 查看可用PHP版本
symfony local:php:list
# 切换到8.2.13
symfony local:php:use 8.2.13

3. 确保MySQL服务正常运行

检查MySQL状态:

sudo systemctl status mysql

若未运行,启动并设置开机自启:

sudo systemctl start mysql
sudo systemctl enable mysql

4. 测试基础数据库连接

创建测试脚本test_db.php:

<?php
$dsn = 'mysql:host=127.0.0.1;port=3306;charset=utf8mb4';
$user = 'app';
$password = '!ChangeMe!';

try {
    $pdo = new PDO($dsn, $user, $password);
    echo "数据库连接成功!";
} catch (PDOException $e) {
    echo "连接失败:" . $e->getMessage();
}

执行脚本:

php test_db.php

若连接失败,检查用户名/密码是否正确,或MySQL是否允许app用户从127.0.0.1登录。


内容的提问来源于stack exchange,提问作者James Rank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 09:32:50