昨晚將一個(gè)disucz論壇進(jìn)行轉(zhuǎn)移后,發(fā)現(xiàn)打開的頁面上回多一個(gè)PHP has encountered a Stack overflow 這個(gè)提示錯誤,進(jìn)過翻譯為“PHP遇到堆棧溢出”。我就感覺奇怪了,新站沒人訪問的,怎么可能會溢出。 好吧去discuz官方論壇找找解決方法。
找到的第一解決方法,更新后臺緩存,結(jié)果不行。接下來檢查數(shù)據(jù)庫配置文件,也沒有錯誤。檢查php權(quán)限也沒有錯誤。
discuz官網(wǎng)有人說是php版本太低了,個(gè)人對于這種人是比較反感的,這種說法比較扯淡。不用去驗(yàn)證了。
把新舊的服務(wù)器對比較,發(fā)現(xiàn)了一個(gè)問題,兩個(gè)的路徑都不同,馬上去查看上級目錄文件夾權(quán)限,果然是權(quán)限出現(xiàn)了問題。文件路徑是D:/www/discuz. 查看到舊的服務(wù)器上面www和discuz文件夾權(quán)限有“匿名來賓權(quán)限”。 在去新服務(wù)器上面看到www文件夾沒有“匿名來賓權(quán)限” 而discuz文件夾權(quán)限則是有的。 說明上一級目錄權(quán)限不足導(dǎo)致的。 重新給一下權(quán)限。 ok完美解決PHP has encountered a Stack overflow的問題。
上面說了這么多,其實(shí)就是一句話:
在windows服務(wù)器下面都是因?yàn)闄?quán)限問題,具體來說是上一級目錄權(quán)限問題。
例如:
原來的網(wǎng)站目錄是 d:/www/vevb
快速安全的解決方法就是在jb51目錄下,新建一個(gè)目錄 webroot,而且這個(gè)目錄的權(quán)限跟jb51權(quán)限是一樣的。
現(xiàn)在的網(wǎng)站目錄就是:d:/www/vevb/webroot即可。
現(xiàn)在很多php系統(tǒng)都是因?yàn)檫@個(gè)問題導(dǎo)致出錯例如 discuz、phpmyadmin等。
新聞熱點(diǎn)
疑難解答