国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

thinkphp6中使用session設(shè)置無效問題的解決及注意事項(xiàng)

這篇具有很好參考價(jià)值的文章主要介紹了thinkphp6中使用session設(shè)置無效問題的解決及注意事項(xiàng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

就如thinkphp官方在文檔開頭所描述的一樣,ThinkPHP6.0基于精簡(jiǎn)核心和統(tǒng)一用法兩大原則在5.1的基礎(chǔ)上對(duì)底層架構(gòu)做了進(jìn)一步的優(yōu)化改進(jìn),并更加規(guī)范化;其實(shí)從5.x版本開始thinkphp本身就是為api應(yīng)用而生。特別是在6.0版本開始框架默認(rèn)壓根不開啟和提供模板引擎,需要下載安裝模板引擎類庫后方可開啟。

新版本不支持操作原生$_SESSION數(shù)組和所有session_開頭的函數(shù),只能通過Session類(或者助手函數(shù))來操作。因此,Session功能默認(rèn)是沒有開啟的(API應(yīng)用通常不需要使用Session)。甚至我們可以這樣理解:在6.0版本中框架本身不提供session機(jī)制,而是通過think\facade\Session類來模擬實(shí)現(xiàn)session。

根據(jù)官方文檔,默認(rèn)session是不開啟的,需要在全局的中間件中中開啟;讓人如果是多應(yīng)用項(xiàng)目,僅僅想讓session應(yīng)用到某個(gè)應(yīng)用,可以在對(duì)應(yīng)的應(yīng)用的中間件中開啟。其中全局中間件配置文件位于app/middleware.phpthinkphp6中使用session設(shè)置無效問題的解決及注意事項(xiàng)

實(shí)際上僅僅在中間件中進(jìn)行session初始化是不行的,如寫入測(cè)試代碼:

session('key',1);
var_dump(session('key'));

這個(gè)時(shí)候頁面會(huì)int(1),但刷新頁面后重新使用session(‘key’)獲取數(shù)據(jù)會(huì)發(fā)現(xiàn)NULL,也就是獲取不到數(shù)據(jù)值。原因在于在上述處理后session的緩存數(shù)據(jù)并沒有保存起來(類似你填寫一個(gè)表單,沒點(diǎn)提交,自然刷新后就沒有了)。需要在執(zhí)行設(shè)置session后,執(zhí)行如下代碼進(jìn)行保存:

實(shí)際上僅僅在中間件中進(jìn)行session初始化是不行的,如寫入測(cè)試代碼:

session('key',1);
\think\facade\Session::save();//這個(gè)不寫也一樣可以用,主要是要在中間件里開啟

這樣操作后,我們會(huì)發(fā)現(xiàn)在框架的runtime目錄中,會(huì)出現(xiàn)一個(gè)對(duì)應(yīng)的session緩存文件。

里面就包含了當(dāng)前會(huì)話保存的兩個(gè)session值,一個(gè)是上面演示的key,一個(gè)是另外寫入的vcode。

現(xiàn)在在系統(tǒng)任何位置,執(zhí)行session(‘key’)都能得到預(yù)期的數(shù)據(jù)。

相對(duì)于5.x版本,6.x版本的代碼更加精簡(jiǎn),剝離了很多功能模塊,如果要使用這些功能模塊,需要加載額外的類庫或者自己接管相應(yīng)的流程進(jìn)行處理。所以,筆者不建議把已經(jīng)穩(wěn)定運(yùn)行的項(xiàng)目升級(jí)為了thinkphp6.0版本,官方?jīng)]有提供自動(dòng)化升級(jí)方案,因?yàn)椴顒e的東西還是比較多,僅僅提供了升級(jí)指導(dǎo),很多流程需要手動(dòng)去進(jìn)行升級(jí)。網(wǎng)絡(luò)服務(wù)部codeit.org.cn今年開始才在新項(xiàng)目使用6.0版本,后續(xù)如果有時(shí)間筆者會(huì)整理該項(xiàng)目升級(jí)到6.0版本過程中遇到的一些典型問題及其解決方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-454834.html

到了這里,關(guān)于thinkphp6中使用session設(shè)置無效問題的解決及注意事項(xiàng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Thinkphp6使用RabbitMQ消息隊(duì)列

    Thinkphp6使用RabbitMQ消息隊(duì)列

    Thinkphp6連接使用RabbitMQ(不止tp6,其他框架對(duì)應(yīng)改下也一樣),使用Docker部署RabbitMQ,在上一篇已經(jīng)講了-傳送門-。 開始前先進(jìn)入RabbitMQ的web管理界面,選擇Queues菜單,點(diǎn)擊底部的Add a new queue,新建一個(gè)test的隊(duì)列。 安裝thinkphp6框架 安裝workerman擴(kuò)展 安裝rabbitmq擴(kuò)展 生產(chǎn)者 在a

    2023年04月23日
    瀏覽(57)
  • ThinkPHP6.0+ 使用Redis 原始用法

    ThinkPHP6.0+ 使用Redis 原始用法

    composer 安裝 predis/predis 依賴,或者安裝php_redis.dll的擴(kuò)展。 我這里選擇的是predis/predis 依賴。 進(jìn)入config/cache.php 配置添加redis緩存支持 示例: 頁面測(cè)試代碼 效果 redis 高級(jí)用法 在php 原生中redis 的使用是 thinkephp 中要使用php redis 的擴(kuò)展方法。則需使用 handler() ; 代碼示例 根據(jù)菜

    2024年02月12日
    瀏覽(25)
  • Element UI 使用 table 組件設(shè)置 el-table-column 寬度width為百分比無效的問題解決方案

    使用 Element el-table 組件時(shí),給列 el-table-column 設(shè)置百分比 % 寬度無效( width=\\\"30%\\\" ) Vue中要將 el-table-column 的寬度設(shè)置成百分比的話,不能通過設(shè)置 width 來實(shí)現(xiàn),而是要設(shè)置 min-width ,并且每一列都必須設(shè)置 min-width 。 el-table 組件會(huì)被 vue 解析成 html ,Vue直接把百分號(hào)去掉把數(shù)值當(dāng)

    2023年04月08日
    瀏覽(103)
  • 【ThinkPHP6系列學(xué)習(xí)-1】下載并部署ThinkPHP6

    【ThinkPHP6系列學(xué)習(xí)-1】下載并部署ThinkPHP6

    在指定目錄(www目錄)下打開cmd,使用composer下載thinkphp6,命令后面的thinkphp6就是下載的目錄名,可以隨意修改。 下載后,查看目錄結(jié)構(gòu),tp6的目錄結(jié)構(gòu)和tp5不同,默認(rèn)是單應(yīng)用(只有一個(gè)模塊),如果需要多應(yīng)用,需要開啟多應(yīng)用模式,后面文章再講。 主要用到的目錄有

    2024年02月05日
    瀏覽(35)
  • thinkphp6 入門教程合集(更新中) thinkphp6 入門(1)--安裝、路由規(guī)則、多應(yīng)用模式

    thinkphp6 入門(1)--安裝、路由規(guī)則、多應(yīng)用模式_軟件工程小施同學(xué)的博客-CSDN博客 thinkphp6 入門(2)--視圖、渲染html頁面、賦值_軟件工程小施同學(xué)的博客-CSDN博客 thinkphp6 入門(3)--獲取GET、POST請(qǐng)求的參數(shù)值_thinkphp獲取get傳值_軟件工程小施同學(xué)的博客-CSDN博客 thinkphp6 入門(

    2024年02月09日
    瀏覽(52)
  • thinkphp6和thinkphp5有什么區(qū)別

    Thinkphp6.0完全開發(fā)手冊(cè) 采用PHP7強(qiáng)類型(嚴(yán)格模式) tp5 環(huán)境要求PHP = 5.4.0 ThinkPHP6.0的環(huán)境要求 PHP = 7.2.5 6.0版本開始,必須通過Composer方式安裝和更新,所以你無法通過Git下載安裝。 支持更多的PSR規(guī)范 V6.0.10版本開始 支持 psr7 response 多應(yīng)用支持 tp5默認(rèn)使用多應(yīng)用模式部署 tp6 安

    2024年02月06日
    瀏覽(21)
  • ThinkPHP6.0升級(jí)到6.1之后,文件上傳報(bào) Class ‘think\facade\Filesystem‘ not found 錯(cuò)誤的解決方案

    ThinkPHP6.0升級(jí)到6.1之后,文件上傳報(bào) Class ‘think\facade\Filesystem‘ not found 錯(cuò)誤的解決方案

    ThinkPHP6.0升級(jí)到6.1之后,文件上傳報(bào) Class ‘thinkfacadeFilesystem’ not found 錯(cuò)誤,真夠郁悶的。 那么,需要把之前的代碼做點(diǎn)改動(dòng),之前的代碼如下: 接口返回: 接下來將上傳部分做個(gè)更改,來適配無Filesystem擴(kuò)展的狀態(tài) api接口返回 OK,完美解決! 另一種更簡(jiǎn)單的處理方式:

    2024年02月14日
    瀏覽(29)
  • thinkPHP6接入workman

    thinkPHP6接入workman

    上篇介紹了workman實(shí)現(xiàn)websocket功能(鏈接:https://blog.csdn.net/weixin_38155824/article/details/128952037) 后傳:解決workman部署到Linux環(huán)境無法啟動(dòng)和連接的問題(https://blog.csdn.net/weixin_38155824/article/details/129004050) 這篇就介紹如何在thinkPHP6項(xiàng)目中接入workman。 查看TP6手冊(cè):命令行=自定義命

    2024年02月15日
    瀏覽(34)
  • thinkphp6 動(dòng)態(tài)開啟debug模式

    1、找到config/app.php?? 2、自定義開啟debug參數(shù)名稱:示例參數(shù)為debug,可以根據(jù)自己項(xiàng)目情況自定義? 3、必須同時(shí)設(shè)置App::debug 和 Env::set(\\\'APP_DEBUG\\\')

    2024年02月07日
    瀏覽(21)
  • ThinkPHP6.0 鏈?zhǔn)絊QL語句

    查詢單個(gè)數(shù)據(jù) 查詢結(jié)果集(查詢結(jié)果返回多條數(shù)據(jù)的意思) ? 查詢一個(gè)字段 ? 查詢一列 添加數(shù)據(jù) 修改數(shù)據(jù) 刪除數(shù)據(jù) 根據(jù)主鍵刪除 ? 條件刪除 ? 查詢數(shù)據(jù) 格式 where(\\\'字段名\\\',\\\'查詢表達(dá)式\\\',\\\'查詢條件\\\'); 模糊查詢 區(qū)間查詢 IN查詢 Not Null Null 鏈?zhǔn)讲僮魇纠?field操作(輸出選擇

    2024年02月11日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包