laravel 5.1 的程序性能優(yōu)化(配置文件)

命令優(yōu)化

本文的目的是來(lái)弄清楚一些優(yōu)化命令在 Laravel 5.1 和之前版本之間的差別. 在 15年6月發(fā)布的 Laravel 5.1版本中, 命令和他們的邏輯方法被清理掉, 本文章就是描述這些不同.

Laravel 5 在優(yōu)化框架性能的時(shí)候提供了一系列的命令, 這篇文章接卸這些命令做什么并且把緩存文件放到了什么位置.

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

優(yōu)化文件的存儲(chǔ)路徑

優(yōu)化命令生成的文件放置在 bootstrap/cache/目錄下

artisan optimize

php artisan optimize 創(chuàng)建了一個(gè)調(diào)用文件來(lái)為了避免每次請(qǐng)求的時(shí)候把一系列的文件都加載進(jìn)來(lái). 這個(gè)文件存儲(chǔ)在bootstrap/cache/compiled.php.

你可以在 config/compile.php 文件中指定需要額外加載的類(lèi).

這個(gè)編譯文件僅僅在 環(huán)境是 production (開(kāi)發(fā)環(huán)境) 的時(shí)候才生成, 除非使用 --force 參數(shù)

artisan optimize 同時(shí)也創(chuàng)建了bootstrap/cache/services.json , 用來(lái)優(yōu)化服務(wù)加載器的性能. 這個(gè)命令不再編譯視圖文件.
(The command does no longer compile views.)

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

artisan optimize 的輸出基于你的配置文件, 例如 config/app.phpproviders數(shù)組, 在部署模式下, 這個(gè)命令需要在php artisan config:cache 之后執(zhí)行

artisan config:cache

php artisan config:cache 這個(gè)把所有的配置文件打包到一個(gè)文件 bootstrap/cache/config.php 中, 這樣避免了配置文件加載多次. 這個(gè)命令在生成新的配置文件前會(huì)清理掉舊的配置文件.

php artisan config:clear 用來(lái)逆向這個(gè)過(guò)程, 來(lái)刪除bootstrap/cache/config.php這個(gè)文件.

artisan route:cache

php artisan route:cache 建立一個(gè)路由緩存文件來(lái)加速路由解析. 這個(gè)命令會(huì)首先清理舊的緩存文件.

php artisan route:clear 刪除路由緩存

artisan view:clear

Laravel 會(huì)在第一次運(yùn)行框架的時(shí)候編譯所有的視圖文件. 編譯的文件根據(jù)路徑的 md5 來(lái)計(jì)算新文件的路徑 MD5 sum of its path (不是內(nèi)容, 是路徑).

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

Laravel 5.0

在 5.1 之前, 優(yōu)化文件默認(rèn)生成在 vendor/ 目錄下. 如果vendor 目錄不可寫(xiě), 文件會(huì)被寫(xiě)入到 storage/framework/目錄下, 在 v5.0.20 你可以設(shè)置 storage/framework/作為默認(rèn)的優(yōu)化文件的存儲(chǔ)路徑. 方法是 在 bootstrap/app.php 文件中加入下邊這一行:

$app->useStoragePathForOptimizations(true);

Laravel 5.1 會(huì)用一個(gè)指定的目錄bootstrap/cache來(lái)保存 生成的編譯文件. 這包括 , bootstrap/cache, compiled.php, routes.php, config.php, 和services.json.

1. 取消 Inspiring 加載

來(lái)這里看看 Inspiring 能做什么
Inspiring 是 l5 默認(rèn)帶的一個(gè)獲取心靈雞湯顯示的一個(gè)示例. 不需要雞湯則優(yōu)化掉

'aliases'         => [
    ...
    'Inspiring'     => 'Illuminate\Foundation\Inspiring',
    ...
]

... 持續(xù)更新

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容