小明是小强的好朋友,自从小强被石榴姐踩死了,小明整天闷闷不乐,决定离开烂苹果乐园,离开这个让它伤心的地方。
小明决定去大城市看看,那里的繁华可以让它忘掉失去朋友的痛苦。小明出去了,在出发的路上,它遇到了小芳,它是一个小老鼠,小芳长的很漂亮,虽然小明是只蟑螂,但是它也能读出小芳的美丽。它们结伴去大城市,在路上它们聊得很投机,都谈到了自己的未来,并且说好了,朝着各自的目标努力。臭水沟家园是一个很大的城市,它们因为工作原因分开了,小芳去了臭水沟西区,那是很富有的一个区,小明去了东区,那里正在开发。
在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是登录状态。所以本文就根据这种情况给出三种不同的方法来解决这个问题:
1,capture标签
capture的中文意思是抓取,它的作用是抓取模板输出的数据,当我们需要它的时候,调用它,以得到抓取数据的目的。例子:
{capture name=test} <img src="testimg.jpg"> {/capture} <div class="image"> {$smarty.capture.test} </div>
一,为什么要对IP并发数,下载流量进行控制
说正题之前,先给大家讲个故事,那是在2007年,我进了一家公司,当时我们正在给达芙妮做电子商务网,www.idaphne.com。从三月份开始做的吧,九月份正式上线,上线后没多长时间,有一天服务器老是死,后来查了一下,一个IP访问是特别大,然后运维人员把这个IP给封了就好了,但是过了一会,这种情况又出现了,然后又把新出的这个IP也封了。我当时就想肯定是别人买鞋,买的不爽,退钱又搞的人家不爽,人家才想起来搞你的网站了,像这种功击很低级了,刚上线,运维人员估计还没有来得及考虑这一些,这就是我们为什么要对ip并发数进行控制的原因。对下载流量进行控制,是对网络带宽进行管理,也是非常重要的。不能有很多人下东西,直接把你网站下挂了
一直以来都没有注意到自己的博客不能注册,今天把注册的东西改了一下。我本地改好了,直接显示密码或者发送邮件都是可以的,上传服务器上就不行了,phpmailer,smtp发送邮件老是实败,根本原因是在国外连接国内的smtp服务器老是超时,提示unable to connect to smtp.163.com:25 (Connection timed out) ,搞得我很郁闷,我想如果是国内的服务器肯定是可以的,制作过程如下:
1,制作一个mail_fun.php
我是写代码出身,因为时间长了,后来做了一些服务器架构方面的工作,我很喜欢服务器架构的工作感觉非常的有意思,也许是写代码写时间长了,写烦了吧。做大型项目服务器架构师是非常必要的,他们好比建筑行业的图纸设计师,如果没有好的设计,大楼盖到一半有可能就倒了,程序人员好比是泥瓦匠,农民工。经常听到有人说代码农民工,是不是从这儿来的。我去过一家公司,他们有一个自己的网站,一天的pv流量差不多有100多万,当时给了一个项目经理的虚名,你又要写代码,又要搞架构。他们服务器如下:
今天突然发现,本博客的注册功能不能用,我真怀具。我查了一下,服务器上php的mail函数不能用,这就意味着,注册的时候,不能发送邮件给你,这样你就无从知道密码了。发送邮件的东西,我刚接触php的时候,就搞过。当时觉得挺神奇,哈哈。没有搭建邮件服务器照样发邮件。不过是利用别人邮件服务器。phpmailer,smtp都是发送邮件的工具,好东西,我们当然可以拿来用。
一,用phpmailer发送邮件
php里面的数组或者对像都可以有for,foreach,while,list each来循环出来,smarty里面也有这套方法,要不然php的数组对像数据,smarty就不知道怎么把显示出来。习惯的php里面的for,foreach,while的用法,刚一开始的时候,smarty里面循环数组老是忘,好记性不如烂笔头,还是把它记下来才是最好的。下面定界变量符号,我就用默认的大括号了。
一,foreache,foreacheelse,/foreache方法
1,它是section 之外处理循环的另一种方案(根据不同需要选择不同的方案).用于处理简单数组(数组中的元素的类型一致),它的格式比 section 简单许多,缺点是只能处理简单数组.
2,foreach 必须和 /foreach 成对使用,且必须指定 from 和 item 属性.
一,模板,框架,cms的区别
在介绍smarty之前先讨论一下他们的区别,说实话,刚开始做开发的时候,真的没搞清楚他们的区别,感觉都差不多,记得有一次去面试,面试的人问我,模板和框架有什么区别,我说没什么区别,我汗。举个例子:
1,如果把一个项目比做一个人体模具的话,那么模板就是衣服,而框架呢就是骨架。
2,没有衣服没关系可以不穿,如果没有骨架的话,要衣服有什么呢?php本身就是脚本语言,本身就可以输出。
3,但是如果做大项目没有模板的话,如果你要把网站改版一次,我想你会疯了得。
4,框架是约束程序员开发,使他们的代码尽量一致,相互都可以改。
5,cms是半成品的人体模具,东西都做的差不多,你只要在里面修修补补,就差不多,他对程序员的约束更大。