1. 程式人生 > >辛星關於php最大遞迴次數的討論

辛星關於php最大遞迴次數的討論

      今天一位朋友問我php的最大遞迴次數可否設定的更大一些,我想了想,就在我的部落格的回覆中給他回覆了,但是不知道為什麼csdn提示我說連線過多,無法顯示,我也就很頭疼的另開一貼,來解答這個問題。

     當然了,咱們不能憑經驗和猜測,我就去這個php的配置檔案找了找,找到了下面這些設定項,看下面程式碼:

;PCRE library recursion limit. 
;Please note that if you set this value to a high number you may consume all 
;the available process stack and eventually crash PHP (due to reaching the 
;stack size limit imposed by the Operating System).
; http://php.net/pcre.recursion-limit
;pcre.recursion_limit=100000

     我們發現最大遞迴次數是可以自由設定的,當然它這裡並沒有設定,但是我個人不建議設定的太大,因為大家試想一下,MATLAB這種專業處理資料的,才支援遞迴大約五百次左右,處理資料並不是php的強項,如果我們遞迴次數過深,那也會嚴重的拖累系統性能,這也就是理論上我們的樓層可以建築N層,但是真的不要這麼做,成本太高,不划算也沒必要。

      當然了,它也受作業系統和執行時分配的堆疊段的大小,不過這裡我沒有給出嚴格的資料測試,只是從php.ini中搜了搜,得到的資訊也不是很全面,不過有一點是可以確認的:那就是這個資料是可以自由設定的。