SAE 版如何启用 Smarty?
发布于:2022-01-17 09:50:54
#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