Debian系统下Laravel测试环境如何搭建
导读:Debian下搭建可测试的 Laravel 环境 一 环境准备与安装 更新系统并安装基础工具 sudo apt update && sudo apt upgrade -y sudo apt install -y curl...
Debian下搭建可测试的 Laravel 环境
一 环境准备与安装
- 更新系统并安装基础工具
- sudo apt update & & sudo apt upgrade -y
- sudo apt install -y curl wget unzip git software-properties-common apt-transport-https lsb-release ca-certificates
- 安装 PHP 与常用扩展(以 PHP 8.2 为例,可按需调整版本)
- 添加 Sury PHP 仓库并安装:
- curl -sS https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor | sudo tee /usr/share/keyrings/sury-php.gpg > /dev/null
- echo “deb [signed-by=/usr/share/keyrings/sury-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main” | sudo tee /etc/apt/sources.list.d/php.list > /dev/null
- sudo apt update
- sudo apt install -y php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-zip php8.2-gd php8.2-mbstring php8.2-curl php8.2-xml php8.2-bcmath php8.2-opcache
- 添加 Sury PHP 仓库并安装:
- 安装 Composer
- curl -sS https://getcomposer.org/installer | php
- sudo mv composer.phar /usr/local/bin/composer
- composer --version
- 安装数据库(二选一)
- MySQL:sudo apt install -y mysql-server
- MariaDB:sudo apt install -y mariadb-server
- 安全初始化:sudo mysql_secure_installation
- 安装 Web 服务器(二选一)
- Nginx:sudo apt install -y nginx
- Apache:sudo apt install -y apache2 libapache2-mod-php8.2
- 启动与开机自启
- sudo systemctl enable --now php8.2-fpm nginx mysql
二 创建项目与数据库配置
- 创建 Laravel 项目
- 方式 A(推荐):composer create-project --prefer-dist laravel/laravel myapp
- 方式 B(全局安装器):composer global require laravel/installer & & laravel new myapp
- 配置数据库
- 登录数据库并创建库与用户:
- mysql -u root -p
- CREATE DATABASE laravel_test CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- CREATE USER ‘laravel_user’@‘localhost’ IDENTIFIED BY ‘StrongPass!’;
- GRANT ALL PRIVILEGES ON laravel_test.* TO ‘laravel_user’@‘localhost’;
- FLUSH PRIVILEGES; EXIT;
- 登录数据库并创建库与用户:
- 配置 .env
- cp .env.example .env
- 编辑 .env(示例):
- APP_ENV=local
- APP_DEBUG=true
- APP_KEY=(执行 php artisan key:generate 自动生成)
- DB_CONNECTION=mysql
- DB_HOST=127.0.0.1
- DB_PORT=3306
- DB_DATABASE=laravel_test
- DB_USERNAME=laravel_user
- DB_PASSWORD=StrongPass!
- 生成密钥与初始化数据
- php artisan key:generate
- php artisan migrate --seed(如需演示数据)
三 Web 服务器与权限
- Nginx 配置示例(/etc/nginx/sites-available/myapp)
- server { listen 80; server_name your_domain_or_ip; root /var/www/myapp/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /.ht { deny all; } }
- 启用站点与检查
- sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled
- sudo nginx -t & & sudo systemctl reload nginx
- Apache 配置要点(如选用)
- 启用模块:sudo a2enmod rewrite
- 虚拟主机 DocumentRoot 指向:/var/www/myapp/public
- 配置 AllowOverride All 以启用 .htaccess
- 文件权限(确保写入日志、缓存与会话)
- sudo chown -R www-data:www-data /var/www/myapp
- sudo chmod -R 755 /var/www/myapp
- sudo chmod -R 775 /var/www/myapp/storage /var/www/myapp/bootstrap/cache
四 运行与执行测试
- 运行应用
- 浏览器访问:http://your_domain_or_ip
- 或开发服务器:php artisan serve --host=0.0.0.0 --port=8000
- 执行测试
- 单元/功能测试:php artisan test 或 vendor/bin/phpunit
- 并行测试(Laravel 9+):php artisan test --parallel
- 性能基准示例:
- use Illuminate\Support\Facades\Benchmark;
- Benchmark::measure(‘Example’, fn() => User::count());
- 测试环境配置建议(.env.testing 或运行时覆盖)
- APP_ENV=testing
- APP_DEBUG=true
- DB_CONNECTION=mysql
- DB_DATABASE=laravel_test
- 说明:测试环境通常使用独立的测试数据库,避免污染开发/生产数据
五 常见问题与优化
- 502 Bad Gateway / 找不到 PHP-FPM 套接字
- 确认 PHP-FPM 正在运行:sudo systemctl status php8.2-fpm
- 检查 Nginx fastcgi_pass 路径与 php-fpm 监听一致(如:/var/run/php/php8.2-fpm.sock)
- 权限错误
- storage、bootstrap/cache 必须对 www-data 可写
- 类不存在或扩展缺失
- 确认已安装所需扩展(如:mbstring、xml、curl、gd、zip、bcmath、pdo_mysql)
- 性能与稳定性
- 开启 OPcache(生产建议)
- 路由/配置缓存:php artisan route:cache、php artisan config:cache(测试环境一般不启用)
- 安全提示
- 测试环境也应使用强数据库密码,避免将 .env 提交至版本控制
- 对外服务建议启用 HTTPS(Let’s Encrypt)
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统下Laravel测试环境如何搭建
本文地址: https://pptw.com/jishu/753760.html
