最近研究LINUX做服務(wù)器,安裝了v6測試,發(fā)現(xiàn)標簽不能設(shè)置,一點擊標簽就出來的是空白頁,先判斷可能是權(quán)限問題,怎們設(shè)置也不行,沒辦法一步一步測試源碼,終于找到問題所在,原來是路徑問題所致。
設(shè)置標簽的程序是 admin/label.php, label.php根據(jù)標簽類型包含(require)相應(yīng)標簽文件(在admin/inc/label目錄下),問題就出在這些標簽文件上,每個標簽文件都有如下三句:require("head.php"); require("template/label/form.htm"); require("foot.php");(form.htm 是模板文件,標簽不同,此文件不同), head.php、foot.php文件和template目錄都在admin目錄下,與label.php在相同目錄下 ,按照PHP教程,這樣引用應(yīng)該是正確的,但恰恰此處出了問題,在標簽文件里上面三個require語句前加上 echo dirname(__FILE__);顯示當(dāng)前目錄,按理論應(yīng)該顯示的是label.php的路徑,但顯示的卻是標簽文件所在的路徑,這就造成require引用文件路徑錯誤。
解決方法:將admin/inc/label下的所有文件都進行修改,將最后面的三個require語句使用絕對路徑。