Web

Windows平台下Apache +PHP5.3 +FastCGI +XCache安装笔记 2011版

几点说明

1.PHP自5.3版起默认不在支持针对Windows的VC6编译版本,只提供VC9版本的,而APAche官方提供的Apache Windows编译包都是VC6的。所以我们需要使用第三方编译的VC9版本的Apache。 2.PHP 的 None Thread Safe 版本适用于CGI/FastCGI方式,而相应的Thread Safe版本适用于SAPI和Mod方式 3. http://www.apachelounge.com/download/ 这里提供了大量适用于Windows的LAMP有关预编译包,包括VC9版本的Apache和FastCGI,这个网站也是PHP官方推荐的网站。

版本选择及安装包获取

Apache 2.2 VC9   来源: http://www.apachelounge.com/download/ mod_fcgid-2.3.6-win32-x86  http://www.apachelounge.com/download/ PHP 5.3.6 nts vc9  来源:php.com VC 2008 RunTime vcredist_x86 来源:php.com XCache-1.3.0-php-5.3.0-nts-Win32-VC9-x86.zip 来源:http://xcache.lighttpd.net/pub/Releases/

总体安装过程

(更多…)

Emeric lee
Web

Javascript中的this详解

*本文代码中使用的 function dump(v,title), 是一个自己写的输出变量描述的函数。

如果你准备在JavaScript中写类,那么你必需对关键字 this 的使用有深刻的理解:

这是JavaScript手册中对 this的简单解释:

this:指当前对象。

对于 JScript 的客户版本,如果在其他所有对象的上下文之外使用 this,则它指的是 window 对象。

(更多…)

Emeric lee
Web

Javascript类的原型对象和继承

基本对象分析

JavaScript中所有的东西都是对象,包括函数、字符、数字等等等。但是JavaScript没有Class这个概念。

JavaScript使用Function来模拟类,任何一个function都有一个对应的prototype对象来存储和扩展这个function的定义,也就是说原型对象是关联于函数的

我们计划使用new关键字来调用并生成新对象的函数,我们称为“构造函数”

一个基本的函数分析

function Car(){
	color = 'red';
};

echo(Car);
echo(Car.constructor);
echo(Car.prototype);
echo(Car.prototype.constructor);

输出结果 (更多…)

Emeric lee
Web

Javascript类-构造方法和原型方法的区别

对Javascript来说,方法在本质上也是一种属性。

构 造方法 和构造属性一样,它是分别存储于每个实例之中的,相互之间是完全独立。

原型方法 和原型属性一样,他是存储于原型中的,每个实例中存储的实际上一 个指向原型的指针。

所有对原型方法的修改会影响到所有实例,而构造方法实际上只能通过实例来访问和修改,也只会影响到相应的实例。

先写结论:方法通常应该使用原型模式定义,并且在必要时通过原型来动态重定义,避免使用构造模式定义方法。

(更多…)

Emeric lee
Web

Javascript类- 几种属性的定义方式及区别

几种属性:

先看代码,这段代码中出现了类定义中可能使用到5种属性或者变量

function car(param1,param2){
    //构造变量
    var varProperty = 'This is a var Perperty';
    //构造属性
    this.constructProperty = 'This is a construct Property'
}

//原形属性
car.prototype.prototypeProperty = 'This is a prototype property';

//静态属性
car.staticProperty = 'This is a static property';

(更多…)

Emeric lee
Web

Debian+ISPCP 环境下 eAccelerator效果测试

硬件:CPU 2.5 / 1G内存 / VMEsxi虚拟环境 :roll:

软件:Debian Lenny 5.0 + ISPCP 1.0.2 stable

工具:apache 里的AB

声名:这是在一个非标准环境下的测试,测试结果不具有普遍可比性,仅供参考

eAccelerator的对比测试结果

测试应用网站:3个

  • A 一个简单的模拟PHPINFO类页面,提取系统信息,显示,单文件程序
  • B 一个自己开发的CMS系统
  • C Wordpress BLOG,加载了一些常见插件

测试方式:使用 ab -t 60 -c 5 参数测试,每阶段2次测试取评价值,分2个阶段

  • P1 没有安装eAcceleratr
  • P2  安装了eAccelerator
AB 测试结果表 (请求处理/秒)
       P1 P2  
Req/S CPU%  Req/S  CPU%
A INFO   73 40   75  20
B CMS   8.72  100  16.77  95
C WordPress  1.22  100  1.76 100 

分析:

(更多…)

Emeric lee
Web

从Etach到Lenny,Debian+ISPCP升级笔记

本来有一台Linux服务器,运行Debian 4.0 Etach 和 ISPCP 1.0.0 RC6

近期看到ISPCP正式版已经发布好久了,就决定升级.升级路线是首先 升级Debian 到 Lenny (5.0),然后再升级ISPCP

A 升级Linux

升级的方法很简单

1) (可选的) 检查你的更新源列表(sources.list)

apt-spy -d stable -t 5 update #是用Stable或者Lenny现阶段效果应该是一样的

有些指南让你加上国家和地区参数,时间没有必要,事实上我们访问最快的源往往都在国外。

你也可以手动去更新 /etc/apt/sources.list

2) 更新系统

aptitude update && aptitude upgrade

这一步可能需要反复运行几次,如果有软件版本冲突提示,你需要运行 aptitude 手动选择冲突解决方案

一直运行到aptitude update && aptitude upgrade提示没有需要更新软件包了,系统升级完成

3)可能遇到的问题

我遇到问题是:Mysql升级到5.2以后不能自动启动了,检查 /etc/log/daemon.log发现一个提示

/etc/init.d/mysql[2130]: ERROR: Using expire_logs_days without log_bin crashes the server. See README.Debian.gz

log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10

修改 /etc/mysql/my.cnf 解决问题

#log_bin = /var/log/mysql/mysql-bin.log #这一行本来是被注释掉的

expire_logs_days = 10

完成上述步骤后服务器及ISPCP应该仍然可以正常工作,检查处理完可能存在的问题后,准备升级ISPCP

B) 更新 ISPCP到 1.0.2

安装ISCP官方说明逐步操作

http://www.isp-control.net/documentation/doku.php?id=start:upgrade:rc

几点说明:

(更多…)

Emeric lee
Web

MySQL的表类型和存储引擎

MySQL的表类型由存储引擎(Storage Engines)决定,类型包括MyISAM、innoDB、BDB等。

常用的存储引擎

MySQL 数据表主要支持六种类型 ,分别是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。

这六种又分为两类,一类是"事务安全型"(transaction-safe),包括BDB和InnoDB;其余都属于第二类,称为"非事务安全型"(non-transaction-safe)。

BDB 全称是"Brekeley DB",它是Mysql最早的具有事务能力的表的类型,由Sleepycat Software (http://www.sleepycat.com)开发。它提供了事务控制能力功能,它确保一组命令全部执行成功,或者当任何一个命令出现错误时所有命令的结果都被回退,可以想像在电子银行中事务控制能力是非常重要的。支持COMMIT、ROLLBACK和其他事务特性。最新版本的Mysql已经计划移除对BDB的支持,转而全力发展InnoDB。

(更多…)

Emeric lee