兩個laravel session共享
滿足條件
- 同一域名 例如: a.r.com r.com b.r.com hello.r.com
- APP_KEY 值統一
- session儲存統一配置 建議redis 方便快捷
- session.php的domain統一為 .域名 注意前面有點 我的就是 .r.com
這些百度都有
lumen和laravel共享 (我最近用的 百度沒找到)
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class
這個兩個中介軟體都是必須要的
\Illuminate\Session\Middleware\StartSession::class
這個不說了 主要是下面那個
啟用EncryptCookies::class (lumen和laraevl的共享 這是比較坑的)
但是\App\Http\Middleware\EncryptCookies::class
不會
把laravel的 \App\Http\Middleware\EncryptCookies::class 複製過來 在bootstrap/app.php載入上
來看看原始碼
<?php
namespace App\Http\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
class EncryptCookies extends Middleware
{
/**
* The names of the cookies that should not be encrypted.
*
* @var array
*/
protected $except = [
];
}
注意的是lumen是沒有安裝Illuminate\Cookie\Middleware\EncryptCookies的
因此需要手動安裝composer require illuminate/cookie@lumen版本.*
沒問題了 end
使用場景
比如a.r.com是官網 hello.r.com是商城
使用者在官網登入了就不需要在商城登入了
我遇到的
因為有一個程式寫好了一個東西 又加一個東西 嫌棄laravel太慢了 所以改用lumen做介面 還有種種原因
laravel慢
輸出一個hello載入近500個檔案
laravel 300ms
tp5 50ms
lumen 50ms
如果每次介面都要300ms+本來的是時間 是挺慢的
優化資料庫什麼的 我的小專案完全不需要 我的專案優化他有個毛線用 資料量小 還不如取消一箇中介軟體快
至於為什麼laravel這麼慢我還用?
php是3ms 為什麼還那麼多人用框架 大家都懂的
為了效能
資料庫量>500 最好別用orm 查詢5k一次性消耗>250m記憶體 耗時十幾秒 改用db 0.6秒
不是sql慢 看了debugbar的sql 好像是十幾ms 而是collection太大了
還有Storage::url 迴圈>500 也最好別用 封裝一個公共函式返回路徑比較好
線上
opcache一定開
最後
我手真賤
不小心點了qq郵箱 然後點返回 內容還在 ~ 萬幸
ps
本作品採用《CC 協議》,轉載必須註明作者和本文連結