摘要: 一、PHP SESSION 的工作原理在解决问题之前,先来了解一下 PHP SESSION 的工作原理。在客户端(如浏览器)登录网站时,被访问的 PHP 页面可以使用 session_start() 打开 SESSION,这样就会产生客户端的唯一标识 SESSION ID(此 ID 可通过函数 session_id() 获取/设置)。SESSION ID 可以通过两种方式保留在客户端,使得请求不同... 阅读全文
posted @ 2009-06-08 11:34 window07 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 利用NFS来共享session,如果session量比较大并且所有的session文件都在同一个子目录下的话,那么可能会由此带来很严重的负载问题,甚至导致网站无法使用。本文就是对这个方案做一下详细的解说。首先,修改 php.ini的 session.save_path 选项,大致如下:session.save_path = “2;/tmp/php_sess”意为把sessi... 阅读全文
posted @ 2009-06-08 11:34 window07 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 一、同一根域名的多站点登录共享问题描述:  一个门户网站的多个子域网站向外提供服务,实现全站的用户登录。比如在http://blog.163.com登录之后,在http://mail.163.com或者http://www.163.com也已经登录。它们的根域名是163.com。解决方案一(共享cookie验证):解决方案二(共享session验证):二、不同根域的多站点登录共享问题描述:  一个... 阅读全文
posted @ 2009-06-08 11:33 window07 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 1. 原始单据与实体之间的关系  可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。  〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情... 阅读全文
posted @ 2009-06-08 11:33 window07 阅读(409) 评论(2) 推荐(0) 编辑
摘要: Apache2.0在性能上的改善最吸引人.在支持POSIX线程的Unix系统上,Apache可以通过不同的MPM运行在一种多进程与多线程相混合的模式下,增强部分配置的可扩充性能.相比于Apache1.3,2.0版本做了大量的优化来提升处理能力和可伸缩性,并且大多数改进在默认状态下即可生效.但是在编译和运行时刻,2.0也有许多可以显著提高性能的选择.MPM(Multi-ProcessingModul... 阅读全文
posted @ 2009-06-08 11:32 window07 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 【总体优化建议】1、 在一般情况下,应该尝试以非冗余方式(查看数据库理论中的第三正则形式)保存数据,但是为了获得更快的速度,可以冗余字段或创建总结表。2、当MyISAM使用动态表格式时,偶尔使用OPTIMIZE TABLE可以避免碎片。可以写一个脚本程序定时执行优化。3、在Web服务器中,图象和其它二进制资源应该作为文件存储。也就是仅在数据库中存储的文件的引用地址而不是文件本身。大多数Web服务器... 阅读全文
posted @ 2009-06-08 11:32 window07 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度。3、preg_replace 比str_replace速度快,strtr的执行速度将近是preg_replace的4倍。4、$row[’id’] 的速度是$row[id]的7倍。5、... 阅读全文
posted @ 2009-06-08 11:31 window07 阅读(124) 评论(0) 推荐(0) 编辑
摘要: Apache经典的Web服务器除了慢没有别的缺点了对了,Apache2对fcgi支持并不好非常好用的proxy和proxy_ajp(很多人用它作为tomcat的前端)不支持epoll(这年头,epoll几乎是性能的必备) Nginx速度快,占用资源少杀手级的proxy和rewrite非常不错的静态文件能力最适合作为整个网站的前端服务(将php、svn等不同请求发送往后端apache)其他功能马马虎... 阅读全文
posted @ 2009-06-08 11:31 window07 阅读(1197) 评论(1) 推荐(0) 编辑
摘要: 一、单字节SQL注入MYSQL的SQL注入已经由来已久,以下是普遍采用的注入步骤:1、在GET参数上加一个/*或者#(mysql专有的注释),判断数据库是否是mysql,比如:http://www.xxx.com.cn/article.php?id=1607 and 1=1/*2、猜解某表的字段数,从order by 1一直更改到页面出错为止,就可以得到该表的字段数注入URL:http://www... 阅读全文
posted @ 2009-06-08 11:30 window07 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 今天朋友的网站mysql连接超过限制,网站基本上动不了了,分析过他的流量后发现不是流量暴增或者黑客攻击引起的。于是登录他的mysql服务器,做了以下检查:1、用show processlist查看mysql正在执行的线程。发现大量的sleep和超时的线程。2、kill掉所有sleep的或者超时的线程。但发现连接数马上又暴增。仔细观察一些超时的连接所执行的sql语句,发现跟它的user表相关的查询超... 阅读全文
posted @ 2009-06-08 11:27 window07 阅读(1087) 评论(0) 推荐(0) 编辑