關於phpcms v9中程序傳到linux出現模板異常的問題

問題描述:網站在windows上編寫完畢後一切正常,當把程序上傳到服務器中後出現找不到模板到問題。

經過層層查找發現是phpcms/lib/classes/template_cache.class.php中函數template_compile出現異常。

我有如下模板文件:phpcms/templates/default/member/sy/index.html,但經過模板解析函數template_compile處理後卻跑到phpcms/plugin/目錄下去找模板,這肯定是找不到到。於是修改這個模板解析函數。

原來的條件判斷第三部分代碼如下:

$plugin = str_replace('plugin/', '', $module);
$module = str_replace('/', DIRECTORY_SEPARATOR, $module);
$tplfile = $_tpl = PC_PATH.'plugin'.DIRECTORY_SEPARATOR.$plugin.DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.$template.'.html';

修改爲:

$modules=explode('/',$module);
$tplfile = $_tpl = PC_PATH.'templates'.DIRECTORY_SEPARATOR.$style.DIRECTORY_SEPARATOR.$modules[0].DIRECTORY_SEPARATOR.$modules[1].DIRECTORY_SEPARATOR.$template.'.html';


此時就解決了。

至於爲什麼windows下原來的模板解析沒問題,而一到linux服務器就出問題,我也不知道爲什麼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章