《PHP實(shí)例:PHP5.2下preg_replace函數(shù)的問題》要點(diǎn):
本文介紹了PHP實(shí)例:PHP5.2下preg_replace函數(shù)的問題,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
PHP編程preg_replace 使用的超過了php5.2默認(rèn)允許的字節(jié),也就是pcre.backtrack_limit和pcre.recursion_limit的大小的問題.
PHP編程Discuz!6.0.0正式版程序發(fā)布以來(lái),大家都熱火朝天的升級(jí)中,但是部分插件在6.0下出現(xiàn)了問題
比如http://www.discuz.net/viewthread.php?tid=559133這個(gè)銀行插件
PHP編程在php為5.2.0及以上的環(huán)境下安裝以后會(huì)出現(xiàn)白屏的問題
PHP編程從Discuz!用戶的角度考慮,我們需要去協(xié)助插件作者辦理這個(gè)問題
PHP編程下面說下我的辦理過程,希望能給大家一些建議吧
PHP編程第一:此插件在5.5的情況下可以正常運(yùn)行,但是6.0下就白屏了
PHP編程Discuz!6.0為了增加模板緩存文件的可讀性,增加了緩存文件的縮進(jìn),而確實(shí)修改過部分templates.func.php的模板處理部分,
莫非是這個(gè)原因?開始我初步確定是這里的問題,因?yàn)橛?.5的部分代碼替換修改過的代碼,就表現(xiàn)正常,但是很郁悶的沒有找到原因
PHP編程第二步:懷疑是bank.htm這個(gè)模板書寫格式的問題,于是我很郁悶的開始分析模板,說實(shí)話,模板大了分析起來(lái)真的很頭疼.結(jié)果顯然又沒有找到原因.比較郁悶的說
PHP編程第二步:然后發(fā)現(xiàn)將此模板拆分以后,就正常執(zhí)行了,這時(shí)候我初步懷疑是不是正則匹配的bug在大數(shù)據(jù)量的時(shí)候出現(xiàn)了錯(cuò)誤,于是我就上bugs.php.net開始搜索了http://bugs.php.net/search.php?c … ace&x=3&y=5在這里找啊找啊找,于是終于找到了這里http://bugs.php.net/bug.php?id=39405,突然間發(fā)現(xiàn)居然是5.2配置的問題,在調(diào)整大pcre.backtrack_limit和pcre.recursion_limit之后問題辦理
PHP編程據(jù)說將pcre.backtrack_limit=-1 in php.ini
就是無(wú)限制
PHP編程之所以寫這么詳細(xì)就是想一起分享下我辦理問題的思路:)
歡迎參與《PHP實(shí)例:PHP5.2下preg_replace函數(shù)的問題》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/10934.html