Laravel 5 中的配置

介绍

Laravel 的所有的配置文件都放在了 config 这个目录的下面。每个选项都有介绍。

config
├── app.php
├── auth.php
├── cache.php
├── compile.php
├── database.php
├── filesystems.php
├── mail.php
├── queue.php
├── services.php
├── session.php
└── view.php

0 directories, 11 files

安装之后

命名应用

安装完 Laravel 以后,你可能想要给应用起个名字。默认情况下, app 目录是在 App 这个命名空间下面,Composer  会用 PSR-4-autoloading 标准自动去加载它。你可以通过 Artisan 的 app:name 命令去修改这个命名空间匹配你的应用的名字。

比如,你打算把应用命名为 “Movietalk”,在项目的根目录下执行下面这个命令:

php artisan app:name Movietalk

上面的命令会修改一系列的文件里的内容。给应用起个名字是可选的,你可以使用默认的 App 这个命名空间。我建议先别在乎为命名应用程序,使用默认的 App 就行。

其它配置

Laravel 基本上不需要太多配置。你可以马上去开发应用,不过你可以看一下 config/app.php 这个文件,上面的选项有说明。比如 timezone,locale 这些选项,可以根据自己所在的地区去配置。

安装完 Laravel 以后,你需要配置一下本地的环境。

注意:在生产环境下,不要把 app.debug 设置成 true 。

权限

Web 服务器需要有可以写入 storage 这个目录的权限。

访问配置的值

我们可以根据应用程序运行的环境去使用不同的配置。比如,你可能想在本地环境跟生产环境上使用不同的缓存引擎,这样就可以去使用基于不同环境的配置。

为了让这件事更容易,Laravel 使用了 Vance Lucas 的 DotEnv 这个库。在全新安装的 Laravel 里面,应用的根目录下有个叫 .env.example 的文件。如果你用的是 Composer 安装的 Laravel,这个文件会自动重命名成 .env,不然的话,你需要自己手工去重命名这个文件。

当应用接收到请求的时候,在这个 .env 文件里列出的所有的变量都会被载入到 $_ENV 这个 PHP 的超级全局变量里。你可以使用 env 帮手从这些变量里获取到值。看一下 Laravel 的配置文件,你会发现很多地方都用到了这个 env 帮手。比如在 config/app.php 这个文件里:

‘debug‘ => env(‘APP_DEBUG‘),

‘key‘ => env(‘APP_KEY‘, ‘SomeRandomString‘),

根据自己的需求去为本地与生产环境去修改这些环境变量。不要把这个 .env 文件提供到应用的版本仓库里面,因为使用这个应用的不同的开发者或者服务器可能需要不同的环境配置。

如果你是跟一个团队一起开发,可以在应用里包含这个 .env.example 文件。在上面放一些配置的示例,这样团队里的其它的开发者可以很清楚的看到使用你的应用需要去配置哪些环境变量。

访问应用当前的环境

你可以通过 Application 实例上的 environment 这个方法访问到当前应用的环境:

$environment = $app->environment();

你可以为 environment 方法传递参数来检查是否匹配指定的环境:

if ($app->environment(‘local‘))
{
    // 环境是 local
}

if ($app->environment(‘local‘, ‘staging‘))
{
    // 环境是 local 或者 staging...
}

要得到应用的实例,可以使用 Service Container 来 Resolve  Illuminate\Contracts\Foundation\Applicationcontract 。如果你在一个 Service Provider 里面, 应用的实例可以通过 $this->app 得到。

应用的实例可以使用 App facade 里面的 app 帮手访问到:

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

$environment = App::environment();

配置缓存

使用 config:cache 这个 Artisan 命令,可以把应用里的所有的配置文件合并成一个文件,这样 Laravel 在加载它的时候会更快一些。

维护模式

当应用在维护模式下,会用一个自定义的视图显示给所有的请求。一般在升级或者维护应用的时候,可以用这样的方法暂时关闭应用。检查维护模式包含在了 应用的默认的 middleware stack 里面。当应用在维护模式下的时候,HttpException 会扔出一个状态码是 503 的异常。

使用 Artisan 的 down 命令可以打开应用的维护模式:

php artisan down

关闭维护维护,用的是  up 命令:

php artisan up

维护模式模板

默认的维护模式使用的模板是:resources/views/errors/503.blade.php

维护模式与队列(Queues)

当应用在维护模式下,不会处理在队列中的工作。关闭维护模式以后,队列工作会像正常一样去处理。

简洁的URL

Apache

应用里面的 public 目录下面有个 .htaccess 文件,它可以去掉 URL 里面的 index.php 。如果你打算用 Apache 去为 Laravel 应用提供服务,确定你启用了 Apache 的 mod_rewrite 模块。

如果自带的 .htaccess 不管用,可以试试下面的代码:

Options +FollowSymLinks
RewriteEngine On

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

Nginx

使用 Nginx 服务器,在网站的配置文件里,使用下面的指令可以启用简洁的 URL :

location / {
    try_files $uri $uri/ /index.php?$query_string;
}
时间: 2024-10-12 07:17:39

Laravel 5 中的配置的相关文章

在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能(转)

1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出 . 该项目的GitHub地址是: https://github.com/Maatwebsite/Laravel-Excel . 本文我们将在Laravel中使用Laravel Excel简单实现Excel文件的导入和导出. 2.安装&配置 使用Composer安装依赖 首先在Laravel项目根目录

在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出 . 该项目的GitHub地址是: https://github.com/Maatwebsite/Laravel-Excel . 本文我们将在Laravel中使用Laravel Excel简单实现Excel文件的导入和导出. 2.安装&配置 使用Composer安装依赖 首先在Laravel项目根目录

JNDI在Tomcat中的配置

使用JNDI获取连接对象 java:comp/env/jdbc/news 这段为固定写法java:comp/env/ 在Tomcat中的配置 配置在:context.xml文件内 F:\apache-tomcat-7.0.68-windows-x64\apache-tomcat-7.0.68\conf\context.xml ---------mySQL<Resource name="jdbc/news"auth="Container" type="

DICOM医学图像处理:DCMTK在VS2012中的配置

背景: 最近由于项目需要,将原本的开发IDE环境由VS2008升级到了VS2012.本以为编译完成后的DCMTK开源库可以直接从VS2008移植到VS2012.但是通过项目属性添加完包含目录和依赖库后,编译会出现大量的链接错误(大多是跟dcmdata.lib.oflog.lib有关). 解决方法: 重新按照原本的博客前辈柳北风儿(大神目前已经博客转移到网易:http://blog.163.com/[email protected]/),利用CMake工具,选择VS2012本地编译器对DCMTK3

web.xml的配置中&lt;context-param&gt;配置作用

<context-param>的作用: web.xml的配置中<context-param>配置作用1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param> 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文. 3.容器将&l

在CentOS6.4中安装配置LAMP环境的详细步骤

原文:在CentOS6.4中安装配置LAMP环境的详细步骤 本文详细介绍了CentOS6.4系统中安装LAMP服务并对其进行配置的过程,即安装Apache+PHP+Mysql,参照了网上大神的设置,其他Linux发行系统可以参考~ 在本文中部分命令操作需要root权限,输入‘su -’命令后输入密码即可切换root身份. 一.修改设置对安装做准备 1. 防火墙设置 设置/etc/sysconfig/iptables文件允许80端口和3306端口.因为80端口是http协议所使用的端口,如果防火墙

Tomcat插件与Jetty插件在MyEclipse中的配置

-Djetty.port=8101 jetty:run tomcat6:run <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat6-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8888</port>

XCode中Architecturs配置及常见问题

http://lanvige.github.io/2014/03/19/architecturs-in-xcode/ XCode 5.1升级后因arm64和CocoaPods的原因,痛了一天,终于解决了问题,同时也记录下这次的学习成果. ARMv6/7/7s & ARM64 在了解Architecture之前,先来认识这几个名字.armv6, armv7, armv7s, arm64是ARM CPU的不同指令集,就像CPU内潜入的软件版本.其在iPhone处理器型号为A4, A8… arm 芯片

在Win7中IIS配置Asp.Net虚拟目录的方法及错误总结!

在Win7中IIS配置Asp.Net虚拟目录的方法总结! 一.右键[网站],点击[添加虚拟目录]或[虚拟应用程序],笔者建议最好建立虚拟应用程序,因为这就跟一个网站差不多,不用考虑路径问题. 二.直接输入相应内容选择路径就行了,如果要指定[应用程序池],需要先建立一个新的[应用程序池],配置与网站差不多了. 三.运行后,如果出现以下错误:HTTP 错误 500.19 一般是web.config配置问题,很简单,找到以下内容 <system.webServer> <defaultDocum