1.請主機商,將 php.ini 內的 session.auto_start 設為0,不要預設啟動
2.如果主機商不能改,則可使用 .htaccess 方式處理
先看看論壇根目錄下有沒有 .htaccess 文件,如果有則下載此文件後,在第一行加入,如下代碼
php_value session.auto_start 0
如果沒 .htaccess 文件,則自已創一個,並在第一行加入上述代碼
ok後,上傳至論壇根目錄下覆蓋即可
一般用個判斷式檢查一下 $_SESSION 是否已經被設置,真則被設置,就不跑session_start如下這樣處理即可
if(!isset($_SESSION)){ session_start(); }
但 Discuz X 系列,走向物件方式,都改成class來調用各類所需用的東西,
這裡會出現層級問題,就是 session 預設啟用,那麼就只能在基層使用,class層不能使用,應該是安全性考量才這樣設計,
簡易防治註冊機 及 12位英數圖片 都是class層,如果session預設啟用,在class執行session_start則會報重覆執行的警告,
而且也不能使用 $_SESSION
但是 session 預設關閉,在class層執行session_start則ok,$_SESSION 也可正常使用
session預設開啟,每執行一個網頁就跑一回,而 discuz 它本身是跑它自已的 sion ,就是sid,
這樣差不多等於每執行一個頁面,就跑2次 session,沒什麼效率也浪費資源,還有層級問題,
不如交給 php程式 來判斷是否需要啟用
php.ini 中 session.auto_start = 0 建議設0關閉預設啟用
Thank you for reading
沒有留言:
張貼留言
由於經常被灌水,所以您再發表留言之後,需要耐心的等待博客主之審核,於審核過後才會公開您的留言,因此請您不要重複的留言,謝謝您的留言。
Hello my friend, I have no money, I am very poor, My blog is super chill, I welcome your comments, but in order to maintain a healthy discussion, please avoid spam or irrelevant comments.