在 Debian 上使用 Laravel 连接数据库,一般流程如下(以 MySQL / MariaDB 为例,也适用于 PostgreSQL 等)。
sudo apt update
sudo apt install mariadb-server -y
# 或
sudo apt install mysql-server -y
sudo systemctl enable --now 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;
.env 文件DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=password
php artisan config:clear
php artisan migrate
php artisan tinker
DB::connection()->getPdo();
无报错即连接成功。
SQLSTATE[HY000] [2002] Connection refusedsudo systemctl status mariadb
.env 中 DB_HOST 写错(本地一般用 127.0.0.1)Access denied for userFLUSH PRIVILEGES;
sudo apt install php-mysql
sudo systemctl restart apache2 # 或 php-fpm
sudo apt install postgresql
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_CONNECTION=sqlite
DB_DATABASE=/absolute/path/database.sqlite
touch database/database.sqlite
如果你用的是 Nginx + PHP-FPM / Apache / Docker,或具体数据库类型不同,可以告诉我,我可以给你更精确的步骤。