香蕉成人伊视频在线观看|学生小视频国产区|yy女主播啪啪啪视频|麻豆传播媒体APP大全免费版官网|瑜伽牲交AV|国产欧美日韩在线天堂区|白浆精品国产91

返回列表 發帖
查看: 720|回復: 3

[求助] 關于PHP8.2 錯誤日志大量 PHP Fatal error: Out of memory

42

主題

176

回帖

5

粉絲

爐火純青

貢獻
0 點
金幣
97 個
樓主
發表于 2026-1-26 21:46:26 |江蘇| 只看樓主 |倒序瀏覽 |閱讀模式
[26-Jan-2026 12:56:45 Etc/GMT+0] PHP Fatal error: Out of memory (allocated 2097152 bytes) (tried to allocate 8192 bytes) in C:\Website\source\function\function_core.php on line 2280
[26-Jan-2026 12:56:45 Etc/GMT+0] PHP Fatal error: Out of memory (allocated 2097152 bytes) (tried to allocate 4096 bytes) in C:\Website\source\function\function_core.php on line 2269

PHP Version 8.2.30,千問說是 memory_limit限制了2mb,但是用phpinfo查看是  memory_limit = 128M

是什么問題呢?
我知道答案 回答被采納將會獲得1 貢獻 已有3人回答
回復

使用道具 舉報

42

主題

176

回帖

5

粉絲

爐火純青

貢獻
0 點
金幣
97 個
沙發
 樓主| 發表于 2026-1-27 22:09:09 |江蘇| 只看Ta
錯誤發生在:
line 2232: 在 dintval() 函數中,嘗試分配 20480 字節
line 2269: 在 dintval() 函數中,嘗試分配 4096 字節
line 2280: 在 dintval() 函數中,嘗試分配 8192 字節
核心問題是 dintval() 函數的遞歸調用在 PHP 8.2 中可能導致內存爆炸式增長!

官方有沒有這個問題,或者有考慮優化嗎?
回復

使用道具 舉報

46

主題

6847

回帖

19

粉絲

應用開發者

貢獻
674 點
金幣
1461 個
產品版本
X5.0+
QQ
板凳
發表于 2026-1-28 08:07:34 |浙江| 只看Ta
php
dintval的作用就是遞歸處理數組中的每個元素,這是繞不過去的需要。遞歸調用使用內存多少取決于這個數組有多大,越大的數組自然需要的內存越多,但這理論上不太可能超的。我這邊PHP8.2用dintval處理完全沒問題,從dintval函數中分析,這個是很常見且基礎的操作。
  • PHP默認遞歸深度限制(zend.max_nesting_level)通常為100-256
  • 深度遞歸會占用大量棧內存,可能導致內存溢出或"Maximum function nesting level exceeded"錯誤。
  • PHP 8.2的內存管理雖然有優化,但基本遞歸限制仍然存在。
  • Discuz!項目中dintval主要用于處理一維ID數組(如dintval($ids, true))
  • Discuz!項目中未發現處理深度嵌套數組的場景
  • Discuz!項目中大部分使用場景是安全的
所以,其實主要是看你在哪使用這個函數,不恰當的使用才有風險,對于深度特別大,數組本身特別大的地方,要慎用。函數本身無錯。如果你想要優化修改,可以考慮改成迭代寫法(未經驗證),如下:
php
回復

使用道具 舉報

42

主題

176

回帖

5

粉絲

爐火純青

貢獻
0 點
金幣
97 個
地板
 樓主| 發表于 2026-1-28 21:06:00 |江蘇| 只看Ta

好的,謝謝,2樓是AI分析的,我正在測試 session.use_strict_mode = 0 配置是不是會改善,等測試完了再試試你幫寫的代碼。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

  • 關注公眾號
  • 有償服務微信
  • 有償服務QQ

手機版|小黑屋|Discuz! 官方交流社區 ( 皖ICP備16010102號 |皖公網安備34010302002376號 )|網站地圖|star

GMT+8, 2026-5-31 05:33 , Processed in 0.046021 second(s), 12 queries , Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2026 Discuz! Team.

關燈 在本版發帖
有償服務QQ
有償服務微信
返回頂部
快速回復 返回頂部 返回列表