环境变量(.env)
.env 文件是 FeedbackPulse 配置的核心。它在安装过程中自动创建,但您可以随时手动编辑。
📍 文件位置
/var/www/feedbackpulse-saas/.env
⚠️ 安全性:
.env文件包含敏感数据(数据库密码、API 密钥)。切勿将其提交到版本控制系统或公开暴露。文件权限应设置为640。
🔧 编辑 .env 后
做出更改后,请清除配置缓存:
php artisan config:clear
php artisan config:cache # Optional: cache for production performance
📋 完整变量参考
🏠 应用设置
| 变量 | 默认值 | 说明 |
|---|---|---|
APP_NAME | FeedbackPulse | 平台名称(显示在邮件、标题中) |
APP_ENV | production | 环境:production、local、staging |
APP_KEY | (自动生成) | 加密密钥。安装后切勿更改! |
APP_DEBUG | false | 显示详细错误信息。生产环境必须设为 false! |
APP_URL | https://yourdomain.com | 平台完整 URL(含 https) |
APP_LOCALE | en | 默认语言 |
APP_FALLBACK_LOCALE | en | 回退语言 |
BCRYPT_ROUNDS | 12 | 密码哈希强度(越高越慢但越安全) |
⚠️
APP_DEBUG=true会在错误页面中暴露敏感信息(数据库凭据、API 密钥)。除短暂调试外,切勿在生产环境中启用。
🗄️ 数据库
| 变量 | 默认值 | 说明 |
|---|---|---|
DB_CONNECTION | mysql | 数据库驱动:mysql、mariadb、sqlite、pgsql |
DB_HOST | 127.0.0.1 | 数据库服务器地址 |
DB_PORT | 3306 | 数据库端口 |
DB_DATABASE | feedbackpulse | 数据库名称 |
DB_USERNAME | root | 数据库用户名 |
DB_PASSWORD | (空) | 数据库密码 |
📧 邮件 / SMTP
| 变量 | 默认值 | 说明 |
|---|---|---|
MAIL_MAILER | smtp | 邮件驱动:smtp、ses、postmark、sendmail、log |
MAIL_HOST | smtp.mailgun.org | SMTP 服务器主机 |
MAIL_PORT | 587 | SMTP 端口(TLS 用 587,SSL 用 465) |
MAIL_USERNAME | (空) | SMTP 用户名 |
MAIL_PASSWORD | (空) | SMTP 密码 |
MAIL_ENCRYPTION | tls | 加密方式:tls、ssl 或 null |
MAIL_FROM_ADDRESS | [email protected] | 发件人邮箱地址 |
MAIL_FROM_NAME | FeedbackPulse | 发件人名称 |
💳 Stripe(可选)
| 变量 | 默认值 | 说明 |
|---|---|---|
STRIPE_PUBLISHABLE_KEY | (空) | Stripe 可发布密钥(以 pk_ 开头) |
STRIPE_SECRET_KEY | (空) | Stripe 私钥(以 sk_ 开头) |
STRIPE_WEBHOOK_SECRET | (空) | Stripe webhook 签名密钥(以 whsec_ 开头) |
💰 PayPal(可选)
| 变量 | 默认值 | 说明 |
|---|---|---|
PAYPAL_CLIENT_ID | (空) | PayPal REST API 客户端 ID |
PAYPAL_CLIENT_SECRET | (空) | PayPal REST API 客户端密钥 |
PAYPAL_WEBHOOK_ID | (空) | 用于验证的 PayPal webhook ID |
PAYPAL_MODE | sandbox | 模式:sandbox(测试)或 live(生产) |
🔑 社交登录(可选)
| 变量 | 默认值 | 说明 |
|---|---|---|
GOOGLE_CLIENT_ID | (空) | Google OAuth 客户端 ID |
GOOGLE_CLIENT_SECRET | (空) | Google OAuth 客户端密钥 |
GITHUB_CLIENT_ID | (空) | GitHub OAuth 客户端 ID |
GITHUB_CLIENT_SECRET | (空) | GitHub OAuth 客户端密钥 |
🤖 AI / OpenAI(可选)
| 变量 | 默认值 | 说明 |
|---|---|---|
OPENAI_API_KEY | (空) | 用于情感分析、自动标签、AI 回复的 OpenAI API 密钥 |
🤖 reCAPTCHA(可选)
| 变量 | 默认值 | 说明 |
|---|---|---|
RECAPTCHA_SITE_KEY | (空) | Google reCAPTCHA v2/v3 网站密钥 |
RECAPTCHA_SECRET_KEY | (空) | Google reCAPTCHA 私钥 |
🍪 会话与缓存
| 变量 | 默认值 | 说明 |
|---|---|---|
SESSION_DRIVER | file | 会话存储:file、database、redis、cookie |
SESSION_LIFETIME | 120 | 会话超时分钟数 |
SESSION_DOMAIN | (空) | Cookie 域名(子域名请设为 .yourdomain.com) |
SESSION_SECURE_COOKIE | true | 会话 Cookie 要求 HTTPS |
CACHE_STORE | file | 缓存驱动:file、database、redis、memcached |
📦 队列与任务
| 变量 | 默认值 | 说明 |
|---|---|---|
QUEUE_CONNECTION | sync | 队列驱动:sync、database、redis |
⏰ 定时任务(共享主机)
| 变量 | 默认值 | 说明 |
|---|---|---|
CRON_TOKEN | (自动生成) | 基于 Web 的 cron 端点 /cron/run?token= 的密钥 token。安装时自动生成。仅在使用基于 URL 的 cron 而非 CLI 时才需要。 |
📁 文件存储
| 变量 | 默认值 | 说明 |
|---|---|---|
FILESYSTEM_DISK | local | 默认存储磁盘:local、public、s3 |
🪵 日志
| 变量 | 默认值 | 说明 |
|---|---|---|
LOG_CHANNEL | stack | 日志频道:stack、single、daily、syslog |
LOG_LEVEL | error | 最低日志级别:debug、info、notice、warning、error、critical |
💡 生产环境 .env 示例
APP_NAME="FeedbackPulse"
APP_ENV=production
APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APP_DEBUG=false
APP_URL=https://feedback.mycompany.com
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=feedbackpulse
DB_USERNAME=fp_user
DB_PASSWORD=super_secure_password_here
SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_DOMAIN=.feedback.mycompany.com
SESSION_SECURE_COOKIE=true
CACHE_STORE=file
QUEUE_CONNECTION=sync
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mailgun_password_here
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="FeedbackPulse"
STRIPE_PUBLISHABLE_KEY=pk_live_xxxxx
STRIPE_SECRET_KEY=sk_live_xxxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxxx
OPENAI_API_KEY=sk-xxxxx
LOG_CHANNEL=daily
LOG_LEVEL=error