SAE 版如何启用 Smarty?

#1 littleu

查了下文档,似乎找不到。
还烦请知道的告诉下,谢谢。

2011-03-15 10:30:44

#2 jake

首先是打开SAE的MC,然后下载speedphp sae最新版

配置和普通的SP的模板配置相同。

'view' => array( // 视图配置
        'enabled' => TRUE, // 开启视图
        'config' =>array(
                'template_dir' => APP_PATH.'/tpl', // 模板目录
                'left_delimiter' => '{',  // smarty左限定符
                'right_delimiter' => '}', // smarty右限定符
        ),
        'engine_name' => 'Smarty', // 模板引擎的类名称,默认为Smarty
        'engine_path' => SP_PATH.'/Drivers/Smarty/Smarty.class.php', // 模板引擎主类路径
),
当然,缓存目录和编译目录不需要设置了

2011-03-15 12:38:15

#3 littleu

回复 2 jake
thanks jake.

建议也添加到官方文档里。

2011-03-15 14:38:22

#4 jake

回复  jake
thanks jake.

建议也添加到官方文档里。
littleu 发表于 2011-3-15 14:38
:handshake

2011-03-15 16:05:24

#5 tod_zhang

还是有问题,SAE_DEBUG: fopen(saemc://templates_c/9cf7ed0228b5ce8fc917a24edf2257500173ec16.file.index.html.php): failed to read from Memcached: No such key. in sae_include.function.php on line 370
我下载了最新版本speedphp-3.1.66-sae.zip

2011-03-15 16:09:42

#6 tod_zhang

呵呵,原来是我没有初始化memcached造成的,多谢

2011-03-15 16:15:14

#7 tod_zhang

再请教一个问题,在SAE如何使用php?配置和普通方式一样吗?

2011-03-15 16:19:03

#8 jake

再请教一个问题,在SAE如何使用php?配置和普通方式一样吗?
tod_zhang 发表于 2011-3-15 16:19
可以这样说,在SAE环境下使用speedphp sae版可以保证大部分speedphp提供的功能和其他的一样。

但是对PHP本身的功能限制和使用规范,就要参考SAE的文档了。

2011-03-15 17:47:04

#9 kantys

SAE上使用smarty发现的问题:
SAE_DEBUG: fopen(saemc://templates_c/21680a51117c8fa7f93f611d8ac40b00b7093ecb.file.changepsw.html.php): failed to read from Memcached: No such key. in sae_include.function.php on line 379
表现:隔一段时间,页面出现如上错误,估计MC里的值已失效,但此时判断file_exists(saemc://templates_c/21680a51117c8fa7f93f611d8ac40b00b7093ecb.file.changepsw.html.php)为真,filemtime(saemc://templates_c/21680a51117c8fa7f93f611d8ac40b00b7093ecb.file.changepsw.html.php)也能取到时间,按smarty的机制是不会重新编译模板的,但include(saemc://templates_c/21680a51117c8fa7f93f611d8ac40b00b7093ecb.file.changepsw.html.php)时就会报错了
现在暂时解决办法是修改smarty文件,在include出错时重新编译模板文件,再include一次。
jake碰到这种问题没有?

2011-05-25 18:15:56

#10 jake

回复 9 kantys


   没遇过,你查明为什么MC会丢值吗?因为memcache的默认设置是不会过期的(重启服务器会)。

2011-05-25 18:32:20

#11 kantys

今天重新测试了一次,MC配额设为2M,并清空MC。
2小时后再访问页面,多个页面出现错误。
getCompiledFilepath:saemc://templates_c/42c1d0149c4c5f17ef2be11cbf956722964952a6.file.add_income.html.php
getCompiledTimestamp:1306375502
getTemplateTimestamp:1306302147
mustCompile:
SAE_DEBUG: fopen(saemc://templates_c/42c1d0149c4c5f17ef2be11cbf956722964952a6.file.add_income.html.php): failed to read from Memcached: No such key. in sae_include.function.php on line 379
smarty能获得缓存时间,判断为不需重新编译,但include文件时出错。
在MemCache管理面板里get templates_c/42c1d0149c4c5f17ef2be11cbf956722964952a6.file.add_income.html.php提示没有这个key
具体原因不知:L

2011-05-26 11:59:02

#12 jake

2小时。。。那真的没遇过。目前用sp的sae很多应用都没报告有这问题。。。:dizzy:

2011-05-26 12:44:48

#13 kantys

回复 12 jake


    谢谢jake!,我先把模板改成speedy吧,弄完了再写个测试smarty的。

2011-05-26 13:29:00