在 Debian 上让 Laravel 连接数据库(DB),一般分为几步:安装数据库 → 配置数据库 → 配置 Laravel → 测试连接。下面以最常见的 MySQL / MariaDB 为例(PostgreSQL 类似)。
sudo apt update
sudo apt install mariadb-server -y
启动并设置开机自启:
sudo systemctl start mariadb
sudo systemctl enable mariadb
初始化安全配置(可选但推荐):
sudo mysql_secure_installation
登录数据库:
sudo mysql -u root -p
创建数据库和用户:
CREATE DATABASE laravel_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
sudo apt install php php-cli php-mysql php-mbstring php-xml php-curl php-zip unzip -y
确认扩展已启用:
php -m | grep pdo_mysql
.envDB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=password
如果是 本地 Unix socket,也可以:
DB_HOST=/var/run/mysqld/mysqld.sock
php artisan config:clear
php artisan cache:clear
php artisan tinker
DB::connection()->getPdo();
没报错就说明连上了。
php artisan migrate
SQLSTATE[HY000] [1698] Access denied原因:MySQL 的 root 用了 auth_socket
✅ 解决:
不要用 root 连 Laravel,新建普通用户(上面已示范)
could not find driver原因:没装 php-mysql
✅ 解决:
sudo apt install php-mysql
sudo systemctl restart apache2 # 或 php-fpm
Connection refused检查:
DB_HOST 是否正确sudo apt install postgresql
.env:
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=laravel_db
DB_USERNAME=postgres
DB_PASSWORD=password
并安装:
sudo apt install php-pgsql
如果你愿意,可以告诉我:
我可以直接给你一套完整可复制的配置。