從X3.4升級到3.5后出現了一個奇怪的現象,就是每天得手工清理 性能優化-內存優化-Redis內存清理,不然凌晨3:30后(這個時間非常精確,每天都是這樣),前臺提示門戶和論壇關閉(實際上并沒有關閉),并且輸出Array ... 查看全文
玩慈利網 發表于 2023-1-7 20:49 不折騰了 沒法用 開啟redis 就提示門戶和論壇關閉 3.4的時候是正常的 ![]() |
根據我的使用情況來看,我覺得3.5的redis驅動文件還有進一步優化的空間。因為之前3.4能正常運行的 |
![]() |
問題解決后,回來回復了原因,幫助到其他站長,給樓主點贊 |
尼瑪。。。我終于知道這個問題是怎么回事了,終于解決了,啊啊啊,搞了好幾天啊。。。。 首先說答案:這個問題貌似與dz無關,與redis配置無關,與nginx無關,與php無關。。。。 具體是這樣的:我之前自己寫了一個計劃任務php,用于每天在網站根目錄生成網站sitemap。這個計劃任務定在3:30執行,是centos的系統計劃任務,不是dz里面的計劃任務。 然后我測試發現,只要系統執行了這個計劃任務,馬上就出現門戶和論壇假關閉的情況,頁面輸出array字樣。 然后我仔細分析了那個計劃任務的php代碼,發現里面除了生成sitemap文件之外,在當時在編碼時,為了看到效果,用了echo輸出一些字符。正是因為這些echo輸出,導致redis出了錯,最終造成了前面的后果。把里面的echo輸出代碼刪除掉,計劃任務再運行,就一切正常了。 但接下來又有新問題了:echo輸出在3.4里面正常,為啥3.5里面就出錯了呢?可能是redis讀取數據的方式改變了造成的。反正通過這個操作,問題已經解決了。 |
開啟redis 我的也是提示論壇功能已關閉 頁面不顯示 ![]() |
3.5對redis進行了大幅度的優化升級,但進行多個站點測試并無你描述的情況出現,建議檢查自己的redis配置 |
我仔細對比了關于redis的相關文件,發現相對于3.4來說,3.5進行了較大的改動。 1、3.5的memory_driver_redis.php和3.4的memory_driver_redis.php代碼行數不同,3.5的有293行,3.4的有188行。但代碼頭一致,沒標明改動時間,感覺不是很恰當。 2、3.5的source\class\memory文件夾下,多了memory_common_session.php、memory_setting_array.php這2個文件,3.4沒有。 由于技術水平有限,沒有仔細研究代碼邏輯,不知道是不是3.5的程序瑕疵,麻煩官方檢測一下,謝謝。 |
手機版|小黑屋|Discuz! 官方交流社區
( 皖ICP備16010102號 |皖公網安備34010302002376號 )|網站地圖|
GMT+8, 2025-9-20 15:21 , Processed in 0.067724 second(s), 32 queries .
Powered by Discuz! W1.0 Licensed
Copyright © 2001-2025 Discuz! Team.