[TOC]
[TOC]
[TOC]
[TOC]
<article><h1>Laravel 安装指南</h1><ul><li><a href="#installation">安装</a><ul><li><a href="#server-requirements">服务器要求</a></li><li><a href="#installing-laravel">安装 Laravel</a></li><li><a href="#configuration">配置</a></li></ul></li><li><a href="#web-server-configuration">Web 服务器配置</a><ul><li><a href="#pretty-urls">优雅链接</a></li></ul></li></ul><p><a name="installation"></a></p><h2><a href="#installation">安装</a></h2><blockquote class="has-icon video"><p><div class="flag"><span class="svg"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" version="1.1" x="0px" y="0px" width="68.9px" height="59.9px" viewBox="0 0 68.9 59.9" enable-background="new 0 0 68.9 59.9" xml:space="preserve"><path fill="#FFFFFF" d="M63.7 0H5.3C2.4 0 0 2.4 0 5.3v49.3c0 2.9 2.4 5.3 5.3 5.3h58.3c2.9 0 5.3-2.4 5.3-5.3V5.3C69 2.4 66.6 0 63.7 0zM5.3 4h58.3c0.7 0 1.3 0.6 1.3 1.3V48H4V5.3C4 4.6 4.6 4 5.3 4zM13 52v4h-2v-4H13zM17 52h2v4h-2V52zM23 52h2v4h-2V52zM29 52h2v4h-2V52zM35 52h2v4h-2V52zM41 52h2v4h-2V52zM4 54.7V52h3v4H5.3C4.6 56 4 55.4 4 54.7zM63.7 56H47v-4h18v2.7C65 55.4 64.4 56 63.7 56zM26 38.7c0.3 0.2 0.7 0.3 1 0.3 0.4 0 0.7-0.1 1-0.3l17-10c0.6-0.4 1-1 1-1.7s-0.4-1.4-1-1.7l-17-10c-0.6-0.4-1.4-0.4-2 0s-1 1-1 1.7v20C25 37.7 25.4 38.4 26 38.7zM29 20.5L40.1 27 29 33.5V20.5z"></path></svg></span></div> 你是一个喜欢看视频的学习者么? Laracasts 为刚刚使用这个框架的新手们提供了一个 <a href="https://laracasts.com/series/laravel-from-scratch-2017">免费、深入的 Laravel视频</a> 。这是一个开始你学习之途的好地方。</p></blockquote><p><a name="server-requirements"></a></p><h3>服务器要求</h3><p>Laravel 框架会有一些系统上的要求。当然,这些要求在 <a href="/docs/5.4/homestead">Laravel Homestead</a> 虚拟机上都已经完全配置好了。所以,非常推荐你使用 Homestead 作为你的本地 Laravel 开发环境。</p><p>然而,如果你没有使用 Homestead ,你需要确保你的服务器上安装了下面的几个拓展:</p><div class="content-list"><ul><li>PHP >= 5.6.4</li><li>OpenSSL PHP Extension</li><li>PDO PHP Extension</li><li>Mbstring PHP Extension</li><li>Tokenizer PHP Extension</li><li>XML PHP Extension</li></ul></div><blockquote><p>译者注:强烈推荐使用 Homestead 作为开发环境,尤其是新手,可以避免很多不必要的麻烦。线上环境可以参考 <a href="https://github.com/laravel/settler/blob/master/scripts/provision.sh">Homestead 的环境部署脚本</a> 进行部署。</p></blockquote><p><a name="installing-laravel"></a></p><h3>安装 Laravel</h3><p>Laravel 使用 <a href="https://getcomposer.org">Composer</a> 来管理代码依赖。所以,在使用 Laravel 之前,请先确认你的电脑上安装了 Composer。</p><h4>通过 Laravel 安装工具</h4><p>首先,使用 Composer 下载 Laravel 安装包:</p><pre class=" language-php"><code class=" language-php">composer <span class="token keyword">global</span> <span class="token keyword">require</span> <span class="token string">"laravel/installer"</span></code></pre><p>请确定你已将 <code class=" language-php"><span class="token operator">~</span><span class="token operator">/</span><span class="token punctuation">.</span>composer<span class="token operator">/</span>vendor<span class="token operator">/</span>bin</code> 路径加到 PATH,只有这样系统才能找到 <code class=" language-php">laravel</code> 的执行文件。</p><p>一旦安装完成,就可以使用 <code class=" language-php">laravel <span class="token keyword">new</span></code> 命令在指定目录创建一个新的 Laravel 项目,例如:<code class=" language-php">laravel <span class="token keyword">new</span> <span class="token class-name">blog</span></code> 将会在当前目录下创建一个叫 <code class=" language-php">blog</code> 的目录,此目录里面存放着新安装的 Laravel 和代码依赖。这个方法的安装速度比通过 Composer 安装要快上许多:</p><pre class=" language-php"><code class=" language-php">laravel <span class="token keyword">new</span> <span class="token class-name">blog</span></code></pre><p>因为代码依赖是直接一起打包安装的。</p><h4>通过 Composer Create-Project</h4><p>除此之外,你也可以通过 Composer 在命令行运行 <code class=" language-php">create<span class="token operator">-</span>project</code> 命令来安装 Laravel:</p><pre class=" language-php"><code class=" language-php">composer create<span class="token operator">-</span>project <span class="token operator">--</span>prefer<span class="token operator">-</span>dist laravel<span class="token operator">/</span>laravel blog</code></pre><h4>本地开发服务器</h4><p>如果你在本地安装了 PHP,你可能希望像运行 PHP 内置的开发服务器一样来访问自己的应用程序,你可以使用 <code class=" language-php">serve</code> Artisan 命令来启动一个本地开发服务器,这样你就可以在 <code class=" language-php">http<span class="token punctuation">:</span><span class="token operator">/</span><span class="token operator">/</span>localhost<span class="token punctuation">:</span><span class="token number">8000</span></code> 来访问它。</p><pre class=" language-php"><code class=" language-php">php artisan serve</code></pre><p>不过有更健壮的本地开发选项可用,比如 <a href="/docs/5.4/homestead">Homestead</a> 和 <a href="/docs/5.4/valet">Valet</a>。</p><p><a name="configuration"></a></p><h3>配置</h3><h4>入口目录</h4><p>在安装 Laravel 之后,你需要配置你的 Web 服务器的根目录为 <code class=" language-php"><span class="token keyword">public</span></code> 目录。 这个目录的 <code class=" language-php">index<span class="token punctuation">.</span>php</code> 文件作为所有 HTTP 请求进入应用的前端处理器。</p><h4>配置文件</h4><p>Laravel 框架所有的配置文件都存放在 <code class=" language-php">config</code> 目录下。每个选项都被加入文档,所以你可以自由的浏览文件,轻松的熟悉你的选项。</p><h4>目录权限</h4><p>安装 Laravel 之后, 你需要配置一些权限 。 <code class=" language-php">storage</code> 和 <code class=" language-php">bootstrap<span class="token operator">/</span>cache</code> 目录应该允许你的 Web 服务器写入,否则 Laravel 将无法写入。如果你使用 <a href="/docs/5.4/homestead">Homestead</a> 虚拟机,这些权限应该已经被设置好了。</p><h4>应用程序密钥</h4><p>在你安装完 Laravel 后,首先需要做的事情是设置一个随机字符串的密钥。假设你是通过 Composer 或是 Laravel 安装工具安装的 Laravel,那么这个密钥已经通过 <code class=" language-php">key<span class="token punctuation">:</span>generate</code> 命令帮你设置完成。</p><p>通常这个密钥会有 32 字符长。这个密钥可以被设置在 .env 环境文件中。如果你还没将 .env.example 文件重命名为 .env,那么你现在应该去设置下。<strong>如果你没有设置应用程序密钥,你的用户 Session 和 其他加密数据将不安全!</strong></p><h4>额外配置</h4><p>Laravel 几乎不需做任何其它设置就可以马上使用,但是建议你先浏览 <code class=" language-php">config<span class="token operator">/</span>app<span class="token punctuation">.</span>php</code> 文件和对应的文档,这里面包含着一些选项,如 <code class=" language-php">时区</code> 和 <code class=" language-php">语言环境</code>,你可以根据应用程序的情况来修改。</p><p>你也可以设置 Laravel 的几个附加组件,像是:</p><ul><li><a href="/docs/5.4/cache#configuration">缓存</a></li><li><a href="/docs/5.4/database#configuration">数据库</a></li><li><a href="/docs/5.4/session#configuration">Session</a></li></ul><p>一旦 Laravel 安装完成,你应该立即 <a href="/docs/5.4/installation#environment-configuration">设置本机环境</a>。</p><p><a name="web-server-configuration"></a></p><h2><a href="#web-server-configuration">Web 服务器配置</a></h2><p><a name="pretty-urls"></a></p><h3>优雅链接</h3><h4>Apache</h4><p>Laravel 框架通过 <code class=" language-php"><span class="token keyword">public</span><span class="token operator">/</span><span class="token punctuation">.</span>htaccess</code> 文件来让 URL 不需要 <code class=" language-php">index<span class="token punctuation">.</span>php</code> 即可访问。在 Apache 启用 Laravel 之前,请确认是否有开启 mod_rewrite 模块,以便 <code class=" language-php"><span class="token punctuation">.</span>htaccess</code> 文件发挥作用。</p><p>如果 Laravel 附带的 .htaccess 文件在 Apache 中无法使用的话,请尝试下方的做法:</p><pre class=" language-php"><code class=" language-php">Options <span class="token operator">+</span>FollowSymLinks
RewriteEngine On
RewriteCond <span class="token operator">%</span><span class="token punctuation">{</span><span class="token constant">REQUEST_FILENAME</span><span class="token punctuation">}</span> <span class="token operator">!</span><span class="token operator">-</span>d
RewriteCond <span class="token operator">%</span><span class="token punctuation">{</span><span class="token constant">REQUEST_FILENAME</span><span class="token punctuation">}</span> <span class="token operator">!</span><span class="token operator">-</span>f
RewriteRule <span class="token operator">^</span> index<span class="token punctuation">.</span>php <span class="token punctuation">[</span>L<span class="token punctuation">]</span></code></pre><h4>Nginx</h4><p>如果你使用 Nginx ,在你的网站配置中加入下述代码将会转发所有的请求到 <code class=" language-php">index<span class="token punctuation">.</span>php</code> 前端控制器。</p><pre class=" language-php"><code class=" language-php">location <span class="token operator">/</span> <span class="token punctuation">{</span>
try_files <span class="token variable">$uri</span> <span class="token variable">$uri</span><span class="token operator">/</span> <span class="token operator">/</span>index<span class="token punctuation">.</span>php<span class="token operator">?</span><span class="token variable">$query_string</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre><p>当然如果你使用了 <a href="/docs/5.4/homestead">Homestead</a> 或者 <a href="/docs/5.4/valet">Valet</a> 的话, 它会自动的帮你设置好优雅链接。</p></article>
- 入门指南
- 安装
- 配置信息
- 文件夹结构
- 请求周期
- 开发环境部署
- Valet
- Homestead
- 核心概念
- 服务提供者
- Facades
- Contracts
- 服务容器
- HTTP 层
- 路由
- 中间件
- CSRF 保护
- 控制器
- 请求
- 响应
- 视图
- Session
- 表单验证
- 前端
- Blade 模板
- 本地化
- 前端指南
- 编辑资源 Mix
- 安全
- API 认证
- 用户认证
- 用户授权
- 加密解密
- 哈希
- 重置密码
- 数据库
- 快速入门
- 查询构造器
- 分页
- 数据库迁移
- Redis
- 数据填充
- Eloquent ORM
- Eloquent ORM快速入门
- 模型关联
- Eloquent 集合
- 修改器
- 序列化
- 综合话题
- Artisan 命令行
- 广播系统
- 缓存系统
- 集合
- 错误与日志
- 事件系统
- 文件存储
- 辅助函数
- 邮件发送
- 消息通知
- 扩展包开发
- 队列
- 任务调度