首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP与模板与代码加密/优化 » [站长]Windows环境下smarty安装最简明教程  


  作者:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

  nqp@nqp.me
  4304410
  www.nqp.me

 

 发表:2005-07-12 06:32:22 阅读 4613 次 回复 13 次 得分5  |   字号 字色
[站长]Windows环境下smarty安装最简明教程
---------------------------------------------------------
资料来源: php.smarty.dev开发组
原语言:英文/English
原作者:jmartinez@controlaircorp.com 
翻译及整理: 一起PHP www.17php.com  rznqp@163.com
注:本站的翻译资料,原版权归原作者所有,中文版权归原作者
及一起PHP共同所有。欢迎一且形式的转载。网络转载请声明
出处,书面转载请联系站长。
本文根据网络(非书面)资料翻译整理而成,有删节,也有适当
补充,并非文章原貌。欲了解原貌,请查看原文。
---------------------------------------------------------

   记得去年写过一个windows+IIS的PHP4安装最简明教程,那天去baidu搜了一下,竟然查到了好几页,这篇文章被很多网站、blog转载,在论坛上的阅读次数截至今日更是让人难以置信的达到1800多次。可见大家对样的文章还是比较欢迎的。最近打算开始研究一点以前不太喜欢的模版,便找到了Smarty,没有找到中文的比较好的安装文章,只好去国外网站找,最后找到一篇smarty开发组的文章,浅显易懂,便顺手翻译过来,另外针对中国人的阅读习惯在术语和句子上作了一些整理,于是便有了这篇文章。经过我的测试,我在win2000+PHP4.3+IIS的环境下一次性安装成功,非常有效。所以整理成这篇文章,希望对喜欢Smarty模版技术而且又刚刚开始的朋友有所帮助。

    整个配置过程分为九步走,文章看起来比较长,那是因为站长对每一个步骤都给出了没法再详细的解释,非常浅显,绝对是名副其实的“最简明教程”。按照这个教程,智商大于零的用户都能顺利配置好Smarty!~_~

    本文适用平台: Windows系统+IIS/APACHE+PHP4/PHP5

    在开始本文之前,首先得确定你的web服务器和PHP已经配置完毕并工作正常。

1、下载Smarty包
    可以从官方站点下载:http://smarty.php.net 
    17php论坛用户可以直接从论坛下载,论坛为大家提供的是目前最新的2.6.9版本
    大小:仅仅140K  压缩格式:.tar.gz
    论坛下载地址:bbs.17php.com/download/smarty269.tar.gz
    
2、解压缩Smarty包并找到合适的位置存放.解压之后文件夹名可能是Smarty.x.x.x,把它修改成smarty(此处只为将来使用方便起见,并非必须),然后将含有Smarty文件的文件夹拷贝到某一个目录下(建议不要放在你的网站目录下,这样别人可以通过路径访问到这些文件,如果非要放在网站目录下,那最好目录的名字起的生僻一些。这些文件即使被别人访问到,也未必造成安全问题,但是一切都为了以防万一)。
   在文章的下面内容中,我们都是假设你的文件放在了d:\smarty下。

3、找到你的php.ini配置文件(可以通过运行phpinfo()查看此文件路径,但一般都放在系统目录下)修改php.ini的include_path选项,把smarty的库文件路径加上,比如:
   include_path = ".;d:\smarty\libs"
   提醒一下,php.ini中一共有两处include_path,一处是Unix下使用的,一处是windows下使用的,要修改windows下使用的:
-------------------------------------------------------------
   ; Windows: "\path1;\path2"
   include_path = ".;c:\php4\includes;d:\smarty\libs"
--------------------------------------------------------------
4、重新启动IIS/APACHE,重新启动的目的是使刚才的修改生效。
   重新启动的方法很简单,APACHE直接restart即可。对于IIS,可以用net stop iiadmin命令关闭iis,然后用net start w3svc命令启动,就完成了重新启动。如果实在不会重启,就干脆重新启动计算机,这样最省事。
    
5、在你的网站目录下创建一个文件夹,名字任意,假设叫MySmarty:
   然后再在这个MySmarty目录下创建2个文件夹,templates和configs。
   创建完成之后如下:
   (你的网站目录)/MySmarty/templates    (这个目录用来存放模版)
   (你的网站目录)/MySmarty/configs  (这个目录用来存放一些配置信息)

6、在MySmarty目录下再创建两个文件夹,名字分别叫:smarty_cache和smarty_templates_c。为什么刚才不一起创建呢?因为这个步骤在原来的官方资料中没有,而我在配置过程中发现,如果没有这两个文件夹,smarty将无法工作,不知道是不是官方资料的smarty版本和目前最新的版本有出入的原因。但是只要配置这两个目录,Smarty便可以顺利工作。因此建议进行配置。

7、这时候你别忘了把我们上面从一开始到现在创建的四个文件夹的权限设置好。当然还包括存放smarty的文件夹d:\smarty的权限,因为有的NTFS格式的系统有严格的权限规定,你的目录创建之后还得有足够的权限才能让web程序访问。一般来说win2000和win2003下采用NTFS分区格式的系统需要做这样的设定,具体方法是在文件夹上点击右键,在“属性”中打开“安全”标签,在里面列出了可以访问这个目录的用户列表,如果没有web访问权限,则需要添加,把Internet来宾帐户和启动IIS进程帐户两个帐户都添加上即可。如果觉得麻烦,可以直接将Everyone用户组添加上,允许任何用户访问。

8、这时候安装工作基本完成,可以进行第一个简单例子的测试:
   在你的网站目录下建立 index.php文件,并且在(网站目录)/MySmarty/templates/下建立index.tpl文件,分别输入以下代码
  index.php
  <?php
   //载入Smarty库
   require('Smarty.class.php');
   
   $smarty = new Smarty;

   //下面的(你的网站目录)用绝对路径,比如d:/intepub/wwwroot
   $smarty->template_dir = '(你的网站目录)/MySmarty/templates';
   $smarty->config_dir = '(你的网站目录)/MySmarty/config';
   $smarty->cache_dir = (你的网站目录)/MySmarty/smarty_cache';
   $smarty->compile_dir = (你的网站目录)/MySmarty/smarty_templates_c';
   //上面四行为使用Smarty前的必要参数配置

   $smarty->assign('name','跟17PHP学安装Smarty');
   $smarty->display('index.tpl');
?>

  index.tpl
  <html>
  <body>
  你好,{$name}!
  </body>
  </html>
9、现在终于可以观看以下自己的杰作了。运行index.php(当然是在你的web服务器上运行,和运行普通php文件完全一样。)
  http://localhost/index.php
  这时候如果看到下面的输出结果,说明你安装成功了~~~是不是很简单呢?
  你好,跟17PHP学安装Smarty!

  后记:虽然到此为止Smarty的安装已经完成,但是站长还是想给大家一点小建议。在上面的小例子中,可以发现如果我们每次使用Smarty前都需要设置参数,那未免过于麻烦。这时候你可以把smarty信息设置的四行代码包裹在一个类或者一个包含文件当中。这样就不用每次使用前都首先配置信息。关于这个就是Smarty的使用知识了,本篇文章不再涉及。站长目前也处在学习过程中,等到后面再继续推出和Smarty相关的文章吧~~~
  用了两个小时翻译和整理这篇文章,很不容易,希望能给大家带来一点帮助。
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2005-07-12 06:39:11  评分:× 

刚才对上面的内容作了简单的修改。
因此两位回复者的留言被我删除了。
请原谅。

本文经过了一次校对,排除了几个容易误解的地方。现在更加清晰了。
 2#楼  
 
  回复人:kyovcs
  注册时间:2005-07-24
  主题/回复:0/1
  积分:401
  等级:★★☆(五级)
  称号:略有小成

   
 2#楼 发表于2005-07-24 17:55:58  评分:1 

Smarty是什么??
能介绍一下吗``我是新手不明白-_-谢谢``
 3#楼  
 
  回复人:hanyubao
  注册时间:2005-08-02
  主题/回复:2/5
  积分:415
  等级:★★☆(五级)
  称号:略有小成

   
 3#楼 发表于2005-08-12 18:11:02  评分:1 

我想学习一下PHP,请问有没有PHP home 的版本可以不用UNIX系统直接在Window XP 下直接安装并且直接像ASP那样变成的软件。
如果安装成功了那么做的PHP程序应该保存到什么文件夹下?
运行和测试用怎么在地址栏里输入地址啊?
谢谢!
 4#楼  
 
  回复人:含泪的射手
  注册时间:2005-04-11
  主题/回复:22/37
  积分:553
  等级:★★★(六级)
  称号:声名鹊起

   
 4#楼 发表于2005-09-02 01:48:02  评分:1 

????
服务套装有的是~
简单学习一下 apach的httpconf就好了
什么都找到了
变程?
如果用过asp,php就很容易理解了
一样的
 5#楼  
 
  回复人:jsh204
  注册时间:2004-09-21
  主题/回复:7/37
  积分:494
  等级:★★☆(五级)
  称号:略有小成

   
 5#楼 发表于2006-03-02 18:56:32  评分:3 

挺好的,学习了!!
 6#楼  
 
  回复人:waterqi
  注册时间:2006-03-09
  主题/回复:0/1
  积分:401
  等级:★★☆(五级)
  称号:略有小成

用户联系方式已设置为保密
 6#楼 发表于2006-03-09 16:49:20  评分:1 

下载不了了
 7#楼  
 
  回复人:含泪的射手
  注册时间:2005-04-11
  主题/回复:22/37
  积分:553
  等级:★★★(六级)
  称号:声名鹊起

   
 7#楼 发表于2006-03-16 21:05:14  评分: 

smarty就是个类库
 8#楼  
 
  回复人:含泪的射手
  注册时间:2005-04-11
  主题/回复:22/37
  积分:553
  等级:★★★(六级)
  称号:声名鹊起

   
 8#楼 发表于2006-03-16 21:07:19  评分: 

不能编辑?
其实没有上升到安装的地步吧,就是个公用类库,直接引用就好了阿,如果想把它作为全局类,修改php.ini的include_path就ok了
 9#楼  
 
  回复人:小菜蛋
  注册时间:2008-01-03
  主题/回复:5/35
  积分:721
  等级:★★★(六级)
  称号:声名鹊起

   
 9#楼 发表于2008-03-19 17:21:31  评分:1 

回复给楼主(一起PHP)
不行啊,出错了~

Warning: Smarty error: unable to read resource: "index.tpl" in D:\laboratory\smarty\libs\Smarty.class.php on line 1095

这是怎么回事呢?
 10#楼  
 
  回复人:小菜蛋
  注册时间:2008-01-03
  主题/回复:5/35
  积分:721
  等级:★★★(六级)
  称号:声名鹊起

   
 10#楼 发表于2008-03-19 17:29:36  评分: 

回复给楼主(一起PHP)

成功了!

原来是 index.php 文件里的路径没改~

站长大人写的超详细啊!
 11#楼  
 
  回复人:小菜蛋
  注册时间:2008-01-03
  主题/回复:5/35
  积分:721
  等级:★★★(六级)
  称号:声名鹊起

   
 11#楼 发表于2008-03-19 19:03:42  评分: 

回复给楼主(一起PHP)

就站长大人说的这个例子,我删除了smarty_cache 这个文件夹后 还可以正常显示~
 12#楼  
 
  回复人:liuboqun
  注册时间:2009-08-03
  主题/回复:0/2
  积分:24
  等级:★(二级)
  称号:初出茅庐

用户联系方式已设置为保密
 12#楼 发表于2009-08-03 17:35:45  评分:1 

回复给楼主(一起PHP)
太好了,
 13#楼  
 
  回复人:z7870397y
  注册时间:2010-09-15
  主题/回复:0/2
  积分:24
  等级:★(二级)
  称号:初出茅庐

   
 13#楼 发表于2010-09-15 10:47:36  评分:1 

受朋友所托,到这里发布条招PHP程序员的信息
创业公司,项目也是起步阶段,但是有成熟团队带,适合新人成长,前景非常好。工作地点在北京望京地区,具体要求如下:

PHP Linux开发工程师
工作职责
1、产品架构分析、设计、性能优化和实现
2、快速实现产品需求
3、WEB/Linux/Freenas/LADP 开发,最好熟悉相关协议
4、外部合作伙伴的数据接口设计和编写
5、系统设计和技术文档的编写和资料整理

职位要求
1、了解网站的设计、规划和制作流程,有网盘项目或者大流量的下载类网站开发经验
2、熟悉MySQL或者Oracle数据库的安装、设计、开发和性能优化
3、有Linux底层开发经验,熟悉Linux内核、FreeBSD、Freenas的文件系统或者LADP相关开发优先考虑
4、熟悉windows环境下的客户端开发者优先
5、头脑灵活,学习能力强,有良好的沟通和团队协作能力,高度的责任感,对工作积极严谨,勇于承担压力
6、欢迎大学本科在校生和应届毕业生

工资待遇情况面议,招聘3~5人(1个月有效)
有兴趣的朋友可以将简历发到邮箱:hr@sanjitech.com  电话:010-64398756-202
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.013sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版