温馨提示×

centos laravel如何连数据库

小樊
35
2026-09-24 02:59:09
栏目: 智能运维

在 CentOS 上使用 Laravel 连接数据库,通常分为以下几个步骤(以 MySQL 为例,其他数据库类似)。


一、准备工作(CentOS 上)

1. 安装数据库(以 MySQL 为例)

sudo yum install -y mariadb-server mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb

2. 创建数据库和用户

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;

二、配置 Laravel 数据库连接

1. 修改 .env 文件

在 Laravel 项目根目录:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=password

⚠️ 如果是远程数据库,把 DB_HOST 改成数据库服务器 IP


2. 检查 config/database.php

一般无需修改,Laravel 默认读取 .env:

'default' => env('DB_CONNECTION', 'mysql'),

三、测试数据库连接

方式一:Artisan 命令

php artisan tinker
DB::connection()->getPdo();

无报错即连接成功。

方式二:写个路由测试

routes/web.php

Route::get('/db-test', function () {
    return DB::select('SELECT 1');
});

访问:

http://your-server-ip/db-test

四、常见问题(CentOS 特有)

1. SELinux 阻止连接

sudo setsebool -P httpd_can_network_connect_db on

2. 防火墙未开放端口

sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

3. PHP 缺少 PDO 扩展

sudo yum install php-mysqlnd
sudo systemctl restart php-fpm

五、其他数据库(简要)

数据库 DB_CONNECTION
MySQL mysql
PostgreSQL pgsql
SQLite sqlite
SQL Server sqlsrv

如果你用的是 Laravel + Nginx + PHP-FPM 或 Docker,可以告诉我,我可以给你更具体的配置示例。

0 踩