PHP网站源码搭建教程:Laravel环境配置与数据库连接实战

我们直接进入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`,否则会暴露调试信息。建议使用环境变量管理不同环境配置。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。