laravel 5.1 的程序性能优化(配置文件)

命令优化

本文的目的是来弄清楚一些优化命令在 Laravel 5.1 和之前版本之间的差别. 在 15年6月发布的 Laravel 5.1版本中, 命令和他们的逻辑方法被清理掉, 本文章就是描述这些不同.

Laravel 5 在优化框架性能的时候提供了一系列的命令, 这篇文章接卸这些命令做什么并且把缓存文件放到了什么位置.

php artisan optimize
php artisan config:cache
php artisan route:cache

优化文件的存储路径

优化命令生成的文件放置在 bootstrap/cache/目录下

artisan optimize

php artisan optimize 创建了一个调用文件来为了避免每次请求的时候把一系列的文件都加载进来. 这个文件存储在bootstrap/cache/compiled.php.

你可以在 config/compile.php 文件中指定需要额外加载的类.

这个编译文件仅仅在 环境是 production (开发环境) 的时候才生成, 除非使用 --force 参数

artisan optimize 同时也创建了bootstrap/cache/services.json , 用来优化服务加载器的性能. 这个命令不再编译视图文件.
(The command does no longer compile views.)

php artisan clear-compiled 删除bootstrap/cache/compiled.phpbootstrap/cache/services.json.

artisan optimize 的输出基于你的配置文件, 例如 config/app.phpproviders数组, 在部署模式下, 这个命令需要在php artisan config:cache 之后执行

artisan config:cache

php artisan config:cache 这个把所有的配置文件打包到一个文件 bootstrap/cache/config.php 中, 这样避免了配置文件加载多次. 这个命令在生成新的配置文件前会清理掉旧的配置文件.

php artisan config:clear 用来逆向这个过程, 来删除bootstrap/cache/config.php这个文件.

artisan route:cache

php artisan route:cache 建立一个路由缓存文件来加速路由解析. 这个命令会首先清理旧的缓存文件.

php artisan route:clear 删除路由缓存

artisan view:clear

Laravel 会在第一次运行框架的时候编译所有的视图文件. 编译的文件根据路径的 md5 来计算新文件的路径 MD5 sum of its path (不是内容, 是路径).

artisan view:clear 清理 所有在 storage/framework/views/ 下的文件.

Laravel 5.0

在 5.1 之前, 优化文件默认生成在 vendor/ 目录下. 如果vendor 目录不可写, 文件会被写入到 storage/framework/目录下, 在 v5.0.20 你可以设置 storage/framework/作为默认的优化文件的存储路径. 方法是 在 bootstrap/app.php 文件中加入下边这一行:

$app->useStoragePathForOptimizations(true);

Laravel 5.1 会用一个指定的目录bootstrap/cache来保存 生成的编译文件. 这包括 , bootstrap/cache, compiled.php, routes.php, config.php, 和services.json.

1. 取消 Inspiring 加载

来这里看看 Inspiring 能做什么
Inspiring 是 l5 默认带的一个获取心灵鸡汤显示的一个示例. 不需要鸡汤则优化掉

'aliases'         => [
    ...
    'Inspiring'     => 'IlluminateFoundationInspiring',
    ...
]

... 持续更新



文/多厘(简书作者)
原文链接:http://www.jianshu.com/p/1d5fa4696ca9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
原文地址:https://www.cnblogs.com/chunguang/p/5728894.html