網上找了很多資料,包括官方的手冊,都表明說,在全局配置文件config.php中配置系統變量HTML_PATH即可,但反復調試外加刪Runtime、Cache,重啟WEB服務器等等均無效果,於是乎只能自己找尋解決方法。
一路順藤摸瓜終於解決,以此文分享、備忘之。
1)首先查看ThinkPHP核心文件core.php,發現引入的各種類php中,有一名為:View.class.php,視圖類。顧名思義此類應與模板輸出、緩存及相關操作有關。
2)打開View.class.php,用eclipse的outline視圖查看該類的結構,發現一方法名為:buildHtml(),創建靜態頁面。此方法有一行代碼為:$htmlpath = !empty($htmlpath)?$htmlpath:HTML_PATH;
這行代碼很顯然是定義靜態頁面的路徑的,其中可以看到前面說到的HTML_PATH。使用eclipse的查看變量源位置(按住ctrl,鼠標左鍵點擊變量),可以看到有2個供追蹤的變量源位置,paths.php和~runtime.php,后者是非核心臨時文件,舍棄之。
3)打開paths.php,可以找到HTML_PATH的這一行代碼:define('HTML_PATH',APP_PATH.'/'.HTML_DIR.'/');,看此處可知,HTML_PATH的結果與系統變量HTML_PATH無關,而是由另外兩個系統變量拼湊而成。
其中APP_PATH為項目所在路徑,HTML_DIR追蹤之,可在同一文件內找到代碼:define('HTML_DIR', 'Html');而這個Html文件夾正是我怎么改都改不掉的緩存存放路徑,於是改之,刪Runtime(因為前面可以看到該臨時文件夾有存放HTML_PATH變量),刷新,成功解決問題!
轉載於(http://www.cnblogs.com)