Skip to content

配置

介绍

Laravel 框架的所有配置文件都存储在 config 目录中。每个选项都有文档说明,因此请随意查看这些文件并熟悉可用的选项。

安装后

命名您的应用程序

安装 Laravel 后,您可能希望为您的应用程序“命名”。默认情况下,app 目录在 App 下命名空间,并使用 PSR-4 自动加载标准 由 Composer 自动加载。但是,您可以通过 app:name Artisan 命令轻松更改命名空间以匹配您的应用程序名称。

例如,如果您的应用程序名为“Horsefly”,您可以从安装的根目录运行以下命令:

php
php artisan app:name Horsefly

重命名您的应用程序是完全可选的,您可以选择保留 App 命名空间。

其他配置

Laravel 开箱即用需要很少的配置。您可以自由开始开发!但是,您可能希望查看 config/app.php 文件及其文档。它包含几个选项,例如 timezonelocale,您可能希望根据您的位置进行更改。

安装 Laravel 后,您还应该配置您的本地环境

lightbulb

您不应在生产应用程序中将 app.debug 配置选项设置为 true

权限

Laravel 可能需要配置一组权限:storagevendor 内的文件夹需要由 Web 服务器写入访问权限。

访问配置值

您可以使用 Config facade 轻松访问您的配置值:

php
$value = Config::get('app.timezone');

Config::set('app.timezone', 'America/Chicago');

您还可以使用 config 辅助函数:

php
$value = config('app.timezone');

环境配置

根据应用程序运行的环境拥有不同的配置值通常是有帮助的。例如,您可能希望在本地使用不同的缓存驱动程序,而不是在生产服务器上。使用基于环境的配置很简单。

为了使这变得简单,Laravel 使用了 Vance Lucas 的 DotEnv PHP 库。在一个新的 Laravel 安装中,应用程序的根目录将包含一个 .env.example 文件。如果您通过 Composer 安装 Laravel,此文件将自动重命名为 .env。否则,您应该手动重命名该文件。

当您的应用程序接收到请求时,此文件中列出的所有变量将被加载到 $_ENV PHP 超级全局变量中。您可以使用 env 辅助函数从这些变量中检索值。事实上,如果您查看 Laravel 配置文件,您会注意到几个选项已经在使用这个辅助函数!

根据您自己的本地服务器以及生产环境的需要随意修改您的环境变量。但是,您的 .env 文件不应提交到应用程序的源代码控制中,因为每个使用您的应用程序的开发人员/服务器可能需要不同的环境配置。

如果您与团队一起开发,您可能希望继续在应用程序中包含一个 .env.example 文件。通过在示例配置文件中放置占位符值,您团队中的其他开发人员可以清楚地看到运行您的应用程序所需的环境变量。

访问当前应用程序环境

您可以通过 Application 实例上的 environment 方法访问当前应用程序环境:

php
$environment = $app->environment();

您还可以向 environment 方法传递参数以检查环境是否与给定值匹配:

php
if ($app->environment('local'))
{
	// 环境是本地的
}

if ($app->environment('local', 'staging'))
{
	// 环境是本地的或暂存的...
}

要获取应用程序实例,请通过服务容器解析 Illuminate\Contracts\Foundation\Application 合约。当然,如果您在服务提供者中,应用程序实例可以通过 $this->app 实例变量获得。

应用程序实例也可以通过 app 辅助函数或 App facade 访问:

php
$environment = app()->environment();

$environment = App::environment();

配置缓存

为了给您的应用程序提供一点速度提升,您可以使用 config:cache Artisan 命令将所有配置文件缓存到一个文件中。这将把应用程序的所有配置选项组合到一个文件中,框架可以快速加载。

您通常应该在部署例程中运行 config:cache 命令。

维护模式

当您的应用程序处于维护模式时,将为应用程序的所有请求显示自定义视图。这使得在更新或执行维护时“禁用”应用程序变得容易。维护模式检查包含在应用程序的默认中间件堆栈中。如果应用程序处于维护模式,将抛出状态码为 503 的 HttpException

要启用维护模式,只需执行 down Artisan 命令:

php
php artisan down

要禁用维护模式,请使用 up 命令:

php
php artisan up

维护模式响应模板

维护模式响应的默认模板位于 resources/views/errors/503.blade.php

维护模式与队列

当您的应用程序处于维护模式时,不会处理任何队列任务。一旦应用程序退出维护模式,任务将继续正常处理。

美化URL

Apache

框架附带一个 public/.htaccess 文件,用于允许没有 index.php 的 URL。如果您使用 Apache 来服务您的 Laravel 应用程序,请确保启用 mod_rewrite 模块。

如果 Laravel 附带的 .htaccess 文件不适用于您的 Apache 安装,请尝试以下文件:

php
Options +FollowSymLinks
RewriteEngine On

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

如果您的 Web 主机不允许 FollowSymlinks 选项,请尝试将其替换为 Options +SymLinksIfOwnerMatch

Nginx

在 Nginx 上,您的站点配置中的以下指令将允许“美化”URL:

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

当然,当使用 Homestead 时,美化 URL 将自动配置。