关于LINUX加载Smarty问题

#1 cww2619

程序在内部服务器上允许正常,放线上加载Smarty 指定模板就显示空白。已开启自动指定模板功能。APP_PATH都没问题

2011-03-07 10:53:35

#2 jake

首先是PHP文件644,目录755

然后编译和缓存目录 tmp 要是777

最好把tmp目录先清空了。

2011-03-07 11:28:57

#3 cww2619

权限没问题 便于测试全是777

2011-03-07 11:36:10

#4 jake

看到tmp目录里面有生成临时文件吗?

如果没有,那就是“目录路径”或者“目录权限”之一有问题。

2011-03-07 12:04:16

#5 cww2619

TMP没有目录生成。权限没问题 都是7了 路径也没问题。有没可能是服务器的问题

2011-03-07 12:24:34

#6 jake

tmp目录存在吗?最新版的sp可以检测tmp目录的存在,下载试试。

一般smarty和环境的联系就只是生成临时文件,其他都没。

2011-03-07 12:55:17

#7 cww2619

tmp目录存在的。有没可能是服务器配置出问题 导致加载不了模板?

2011-03-07 13:28:06

#8 jake

一般服务器只有目录权限方面会对smarty有影响。

在smarty 3(SP3.1)里面,可以这样试试,先不要smarty模板输出,在控制器内:

$this->getView()->testInstall();
看看输出什么。另外,可以

dump($this->getView());
看看smarty对象的变量都对没。

2011-03-07 14:39:36

#9 cww2619

刚测试了  smarty对象都没问题 就是指定模板显示不了

2011-03-07 16:27:23

#10 jake

tmp目录里面如果没有生成临时文件,那么就只好检查一下目录的设置和目录的权限,仅此而已。

2011-03-07 16:57:27

#11 shaol


今天我也遇到这个问题了,在本地好好地,提交到服务器空白,也没错误提示,然后断点找了下发现没啥问题啊,确定了不是语法问题之后,开始怀疑目录权限问题了,然而确定了权限也没问题我有点摸不着头脑了,于是乎跑到论坛来搜了,看了这个帖子之后按照JAKE的方法试了下,打印$this->getView()->testInstall()发现有个目录不存在(打印结果如下),google了下大概意思是放些配置文件的东东,那好吧,既然木有咱就创建个呗,创建过后问题解决~OK搞定碎觉,困死本宝宝了

Smarty Installation test...
Testing template directory...
/alidata/www/xxxx.net/project/tpl is OK.
Testing compile directory...
/alidata/www/xxxx.net/project/tmp is OK.
Testing plugins directory...
/alidata/www/xxxx.net/comm/SpeedPHP/Drivers/Smarty/plugins/ is OK.
Testing cache directory...
/alidata/www/xxxx.net/project/tmp is OK.
Testing configs directory...
FAILED: ./configs/ is not a directory.
Tests complete.

2016-09-19 01:14:14