歡迎您光臨本站 註冊首頁
小知識  >  php >

PHP smarty error 問題

admin @ 2015-09-07 reply:0
←手機掃碼閱讀

session_start();
$_SESSION['ui'] = $ui;
$smarty->display("userindex.tpl");
在userindex.tpl中
{$smarty.session.ui->getUsername()};該語句出錯

Fatal error: Smarty error: [in userindex.tpl line 3]: syntax error: $smarty.session.ui is an invalid reference (Smarty_Compiler.class.php, line 2022) in D:\phpWEB\www\jintie1\smarty\libs\Smarty.class.php on line 1092

ui為一個userinfo對象,其中有相應的get set方法   

出現這種錯誤主要是路徑或者許可權的問題,可以根據這兩方面一一校正,首先修改許可權,不同的系統文件屬性不同,Php應用模板就要求放編譯信息的文件夾所有用戶都有讀寫的功能,即777,我用的是php 5.2版本,我是這樣改的把smarty 文件夾改成777,然後把templates_c改成777,改完以後調試還不行的話,可以看看路徑是不是有問題,找到lib文件夾下的main.php文件,修改

$smarty = new Smarty();

$smarty->template_dir = './www/users/l-zonline.com/Smarty/templates/';//指明$smarty對象使用tpl模板時的路徑

//本來我的路徑用的是相對路徑可怎麼都不對,改成絕對路徑就好了
$smarty->compile_dir = './Smarty/templates_c/';//$smarty對象進行編譯時的目錄

//這個路徑也要注意可以試著改一改,而且大小寫也要注意,有些系統區分大小寫
$smarty->cache_dir = './www/users/l-zonline.com/Smarty/cache/'; //Smarty輸出的模板文件緩存的位
//$smarty->cache_lifetime = 60; //設置緩存時間
//$smarty->caching = true; //設置緩存方式

$smarty->left_delimiter = "<{"; 
$smarty->right_delimiter = "}>";

$smarty->config_dir = './www/users/l-zonline.com/Smarty/configs/';


[admin via ] PHP smarty error 問題已經有1109次圍觀

http://coctec.com/room/show-22.html