
我们直接进入Laravel框架的PHP网站源码搭建核心步骤。以下是基于官方文档和CSDN社区实践,整理的Linux服务器环境下Laravel 10版本的环境配置与数据库连接完整教程。
准备工作:系统依赖检查与安装
确保服务器满足Laravel最低要求(PHP 8.0.4+,Composer 2.1+,数据库需为MySQL 5.7+或PostgreSQL 10+)。使用以下命令检查系统环境:
sudo apt update
sudo apt install -y git curl gnupg
检查PHP版本必须为8.0.4或更高。对于MySQL,安装命令为:
sudo apt install -y mysql-server
sudo systemctl start mysql
sudo mysql_secure_installation
关键警告:默认安装的MySQL root密码强度不足,`mysql_secure_installation`会要求修改。务必记录新密码。
创建Laravel项目与环境配置
使用Composer创建新项目。在服务器根目录执行:
composer create-project --prefer-dist laravel/laravel project-name "10."
cd project-name
修改`.env`文件配置数据库连接。默认为MySQL,若需切换至PostgreSQL,需修改以下参数:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password
注意:若使用远程数据库,需在`php.ini`中开启`allow_url_fopen=On`并配置`mysql`扩展。
配置文件验证与优化
执行以下命令检查配置文件语法:
php artisan config:cache
若配置正确,命令将输出`Optimization complete!`。此操作会缓存配置,提升启动速度。
数据库迁移与密钥生成
执行迁移创建基础表结构:
php artisan migrate --force
强制参数`–force`在未设置APP_ENV时必需。迁移完成后,生成应用密钥:
php artisan key:generate
此命令会修改`.env`文件中的`APP_KEY`值。务必确保此命令在配置文件缓存前执行。
常见数据库连接问题排查
若出现`SQLSTATE[2002] [HY000] Connection refused`错误,检查:
| 问题 | 解决方案 |
|---|---|
| MySQL服务未启动 | `sudo systemctl start mysql` |
| 防火墙阻止3306端口 | `sudo ufw allow 3306/tcp` |
| 远程连接被拒绝 | 在MySQL配置文件中设置`bind-address = 0.0.0.0`并重启服务 |
项目启动与测试
启动开发服务器:
php artisan serve
访问`http://127.0.0.1.8000`。首次访问将自动执行路由缓存,显示欢迎页面。
若遇到`Whoops! A fatal error has occurred.`错误,检查:
- 是否已执行`php artisan config:cache`
- `APP_ENV`是否设置为`local`
- `.env`文件路径是否正确
生产环境部署注意事项
使用以下命令优化生产环境配置:
php artisan config:cache
php artisan route:cache
php artisan view:cache
生产环境禁止使用`APP_ENV=local`,否则会暴露调试信息。建议使用环境变量管理不同环境配置。

