# 配置文件介绍
# 什么是 .env
?
.env
是一个文件,其中保存了 Blessing Skin 最基础的配置信息(数据库信息、密码安全、邮件发送配置等)。
提示:
如果您使用 4.0.0 或以上版本,您在大多数情况下不需要手动配置 .env
文件——在安装的时候,我们会在浏览器中要求您填写数据库连接信息。
# 如何创建 .env
文件?
安装包中默认包含了一个 .env.example
配置模板文件,直接把它重命名为 .env
即可。
提示:
如果看不到 .env.example
这个文件,请打开你文件浏览器的「显示隐藏文件(以 .
开头的文件)」的选项。
重命名之前你也可以创建一个副本作为备份。
对于 Windows 用户,请遵循如下步骤:
- 右键
.env.example
文件并点击「重命名」; - 在输入框中将该文件重命名为
.env.
(注意,最后有一个点符号.
); - 按下回车确认,文件名最后的
.
将会自动消失; - 你已完成重命名操作(是的,Windows 就是这么神秘)。
当然您也可以在 PowerShell 中执行 Rename-Item .env.example .env
或在 CMD 中执行 copy .env.example .env
。
Linux 或 macOS 用户直接 cp .env.example .env
就好了。
# 配置文件字段详解
为了支持国际化,我们把 .env
的注释换成通用的英文了,但是为了方便中文用户,下面介绍一下各个字段的含义。
# 应用基本选项
# APP_DEBUG
请务必在生产环境(线上环境)下关闭 APP_DEBUG
(即设置为 false
),不然你的数据库信息可能被泄露。
相反,如果遇到什么错误要报告的话请开启这个选项以获得报错的详细堆栈信息。
# APP_ENV
生产环境下,请将 APP_ENV
设置为 production
。仅在开发 Blessing Skin 时(如,您正在为 Blessing Skin 做贡献),才可将该配置项设为 development
。(当 WEBPACK_ENV
为 development
时,所有前端资源均从 webpack-dev-server
中加载)
# APP_FALLBACK_LOCALE
降级语言设置。如果 Blessing Skin 无法从浏览器和客户端中检测用户使用哪种语言,Blessing Skin 将使用这个选项所指定的值作为语言,默认为 en
即英语。
# 数据库相关
DB_CONNECTION
数据库的连接类型,目前支持mysql
、sqlite
、pgsql
,即分别为 MySQL(或 MariaDB)、SQLite 和 PostgreSQL。DB_HOST
数据库主机,一般为localhost
DB_PORT
数据库端口DB_DATABASE
数据库名,自行修改DB_USERNAME
数据库用户名DB_PASSWORD
数据库用户密码DB_PREFIX
数据表前缀,当你有在一个数据库中安装多个皮肤站的需求时,请为每个皮肤站设置不同的数据表前缀
# 安全相关
PWD_METHOD
用户密码加密方式,可选的值有:BCRYPT
(默认的)ARGON2I
(需要 Blessing Skin v5 或更高版本)PHP_PASSWORD_HASH
MD5
SALTED2MD5
(加盐与不加的区别,下同)
SHA256
SALTED2SHA256
SHA512
SALTED2SHA512
SALT
盐用于 Token 和密码加密APP_KEY
用于框架内各种东西的加密,格式为"base64:".base64_encode(random_bytes(32))
请注意,皮肤站安装好后请勿随意更改这些安全设置,否则会导致原有的用户无法登录。
SALT
和 APP_KEY
都可以选择在安装时自动随机生成,您也可以选择在命令行中重新生成:
# 重新生成盐
php artisan salt:random
# 重新生成 APP_KEY
php artisan key:generate
# 邮件相关
邮件配置主要用用户邮箱验证与发送密码重置邮件。
# 如果你使用 SMTP,请添加以下字段(内容自行修改):
MAIL_MAILER
为smtp
(v4 及以前的用户,这一项应为MAIL_DRIVER
)MAIL_HOST
为邮件服务器地址MAIL_PORT
为邮件服务器端口,默认为 465MAIL_USERNAME
为邮件服务器认证所需的用户名MAIL_PASSWORD
为邮件服务器认证所需的密码MAIL_ENCRYPTION
为加密方式MAIL_FROM_ADDRESS
为发件人的邮件地址MAIL_FROM_NAME
为发件人的名称,默认为空,可以填写成站点名
# 如果您使用 SendGrid:
请在 MAIL_USERNAME
中填写 API Key,在 MAIL_FROM_ADDRESS
和 MAIL_FROM_NAME
中填写发件人的信息。
# 如果您使用 Mailgun,请添加以下字段:
MAIL_DRIVER=mailgun
MAIL_USERNAME=test@example.com
MAILGUN_DOMAIN=example.com
MAILGUN_SECRET=api-key
# 如果您使用 sendmail,请添加以下字段:
MAIL_DRIVER=sendmail
SENDMAIL_COMMAND='/usr/sbin/sendmail -bs' #注意用引号包起来
将 MAIL_DRIVER
设置为 null
即可停用所有邮件相关的功能。
# 驱动相关
CACHE_DRIVER
此项配置与缓存有关,默认为 file
。可使用 file
、 memcached
、 redis
其中的一项。
SESSION_DRIVER
此项配置与 Web 中的 Session(会话)有关,默认为 file
。可使用 file
、 memcached
、 cookie
、redis
其中的一项。
QUEUE_CONNECTION
默认情况下,Blessing Skin 将以同步的方式发送通知。如果您的站点有较多的用户,当向全部用户发送通知时,站点将会变慢甚至请求超时。为此,您需要在此配置队列以提高性能。
这个配置项默认为 sync
,即不使用任何队列。您可以根据需要将此配置项设为 database
,此时队列信息将存储在数据库中;如果您有 Redis,推荐将此项设为 redis
。
除了 sync
以外,不管使用哪种其它的队列,您都需要单独执行一个进程以保证队列正常运行。方法是:执行 php artisan queue:work
,请保持这个命令的运行,不要退出。
# Redis 相关
如果条件允许,请为您的站点使用 Redis。Redis 作为内存数据库,能在一定程度上提升站点的性能。
REDIS_CLIENT
这一项的值只能为phpredis
或predis
。如果您的站点有在使用 Redis,请安装 PHP 的 Redis 扩展,并将此值改为phpredis
。REDIS_HOST
Redis 数据库的主机地址,通常为 127.0.0.1,请根据您的实际情况进行修改。REDIS_PASSWORD
Redis 数据库密码。默认为null
,如果您有为 Redis 设置密码,请相应地修改此项。REDIS_PORT
Redis 数据库端口,默认为 6379。
# 插件相关
通常您不需要修改这部分配置。
PLUGINS_DIR
此配置项会影响插件的存放位置,Blessing Skin 中的插件市场会把插件安装在此处,并从这个目录中读取并加载插件。请确保这个目录有可读写权限。保留null
以使用默认值。从 5.0.0 起,您可以定义多个不同的插件目录,用英文状态下的逗号分开不同的路径即可。PLUGINS_URL
此配置项会影响插件中的前端资源文件 URL。建议保留null
以使用默认值。
# 其它
UPDATE_SOURCE
修改此项配置可更改 Blessing Skin 的更新源。(即,告诉 Blessing Skin 将从哪里获取新版本信息)如果您觉得默认的更新源速度慢,可更换为第三方源。(可用的第三方更新源见 此处)