配置

简介

和 Laravel 不一样的是,Lumen 只是用单一的 .env 配置文件来配置框架的各个方面。Lumen 框架自带的 .env.example 文件可以作为你的模板文件使用。

注意: 如果你喜欢使用 vlucas/phpdotenv 库来加载环境变量到 $_ENV 这个 PHP 超级全局变量的话,你需要将 bootstrap/app.php 文件中调用 Dotenv::load 方法的代码注释掉。

安装之后需要做的工作

Lumen 只需非常少量的配置就可以使用了。然而,你需要设置 .env 文件中的 APP_KEY 配置项。这个配置项的值应该是一个包含 32 个字符的随机字符串。

然而,你可能还需要为以下几个来自 Laravel 的组件做一些配置:

注意: 绝对不要在生产环境中将 APP_DEBUG 配置项设置为 true

权限

Lumen 需要对几个目录设置一下权限: storage 下面的文件夹已经 bootstrap/cache 目录都需要为 web 服务器赋予写权限。

配置文件

默认情况下,Lumen 使用单一的 .env 文件配置你的应用程序。当然,如果你需要的话仍然可以使用 Laravel 风格的配置文件。默认配置文件位于 vendor/laravel/lumen/config 目录下。如果你在项目的根目录下的 config 文件夹下放置了一份你自己的配置文件的话,Lumen 将加载你的这份配置文件。

使用完整版的配置文件(也就是 Laravel 风格的配置文件)能够让你配置 Lumen 的更多方面,例如配置多个存储 "disks" 或 read / write 数据库连接。

自定义配置文件

也许你需要创建自己定义的配置文件并使用 $app->configure() 方法加载他们。例如,假设你的配置文件位于 config/options.php,你可以通过如下方式加载它:

$app->configure('options');

优雅链接

Apache

Lumen 框架通过 public/.htaccess 文件来让网址中不需要 index.php。如果你的网页服务器是使用 Apache 的话,请确认是否有开启 mod_rewrite 模块。

如果 Lumen 自带的 .htaccess 文件在所安装的 Apache 环境下无法正常使用的话,请尝试下面这个方法:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Nginx

对于 Nginx,为你的网站增加如下配置就可以使用“优雅链接”了:

location / {
	try_files $uri $uri/ /index.php?$query_string;
}

当然,如果使用的是 Homestead,优雅链接已经被自动配置好了。