IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置(06年2月18日更新) *P>F#
~X
首先说明我们用的软件 ZC"p^~U_e[
wbTw\b=
php用比较成熟和稳定的php4.3.9下载地址: <#sK~G
x\WKsc
``{xm1GK
"Z
<1Msz
[url]http://www.uushop.net/bbs2/read.php?fid=3&tid=158361[/url] V0>,Kxk
mysql4.0.24下载地址:http://down.chinaz.com/s/813.asp >
ewcD{bt
phpmyadmin下载地址http://down.chinaz.com/s/5637.asp ? T9-FGW
PHP加速软件eaccelerator p)`JVq,H/B 3$_wAt4w Ktoxl+I? 好,工具准备完毕,下面开始我们的配置环境。 L fhd02
一:让 IIS6.0 支持 PHP -=> php4.3.9 的安装配置 %VgR *
不建议使用安装版 这里选用了 php4.3.9 的解压版 R/=yS7@{)
第一步 解开php-4.3.9-Win32.zip压缩包 你可以把它放在C:\PHP下面 t5S S]
~_Aclm?
N]3XDd|q
d}1R<Q;F
第二步 把 C:\PHP下面的 php.ini-dist 文件复制到C:\WINDOWS目录下 并改名成php.ini 根据不同情况你可以自行修改某些参数 首先 我们需要告知PHP在何处可以找到其扩展功能模块文件 下面修改 C:\windows\php.ini 文件 需要注意的如下 tG'c79D\
查找 extension_dir 字串 修改为你 PHP 目录里 extensions 的路径: !U@[lBW
; Directory in which the loadable extensions (modules) reside K=V)"v5o3
extension_dir = "C:\php\extensions" )9s[-W,e
如上 设为PHP文件的所在目录即可 本例中可以设为“extension_dir= "C:\php\extensions"” GKX#-zsh79
IIzdCa{l
第三步 把 C:\php\php4ts.dll 复制到 C:\windows(winnt)\system32目录下 n=`UhC
EG,RlmcPp
+]G;_/[2
第四步 控制面版——》管理工具——》Internet服务管理器——》点选“Web 服务扩展”——》在右边窗口点击“添加一个新的 Web 服务扩展”——》扩展名为 “PHP”——》再点击“添加”——》在出现的窗口里填上“C:\PHP\sapi\php4isapi.dll” 并确定 然后再点选 Web 服务扩展 PHP 并选择允许 如图所示 ?(Nls.c
Xh5
z8
&W1c#]q@r
72aj4k]^
r!+)U#8
r>Vgo):s
cYK3>p
A
TWMD f
第五步 在“默认网站属性”窗口上按 “主目录”标签 点“配置”按钮 在弹出的“映谢”窗口中点取“添加”按钮,在弹出的“添加/编辑应用程序扩展名映像”对话框中的“可执行文件”文本框中输入“c:\PHP\sapi\php4isapi.dll” “扩展名”文本框中输入“.php”(注意一定要有那个点) 并勾选 "检查文件是否存在"项 确定 如图所示 278
6tZF,
SKGYmleR
vq|W&
@l 1 piz8
K:mb$YJ&
\%UA6uj
JHcC}+H[
第六步 在“默认Web站点属性”窗口上点取“ISAPI筛选器”标签,点击“添加”按钮,在弹出的“筛选器属性”窗口的“筛选器名称”中输入“PHP” “可执行文件”中浏览选定“c:\PHP\sapi\php4isapi.dll” 然后确定 如图所示 vb# d%1b5
UhNeY{6
f -bVcWI
A:先停止 IIS 6.0的运行 再重新启动IIS 6.0 意在开始对 PHP 加载 见图 H'+P7*k#M
!I@"+oY<
YQ&Xd/z-
B:在“默认Web站点属性”窗口上点取“ISAPI筛选器”标签 如果看到 PHP 的箭头绿色且向上 证明 PHP 已经被 IIS 6.0 顺利加载起来了 见图 fU,sn5zZ
l78zS'
>k"/:g^t
Zx@{nVoYe~
EI'(
vO 3fAB
第七步 在“默认网站属性”窗口上按 “主目录”标签 修改 如果在IIS6.0里对PHP配置为CGI运行模式 即全部加载PHP.exe 执行权限 为“脚本和可执行文件” 反之 运行在ISAPI模式下 即全部加载PHP4isapi.dll 则保持默认的"纯脚本"即可 这样可进一步加强系统的安全性 应用程序池 为 “ DefaultAppPool” 确定即可 如图所示 2|+**BxHD
到了这一步 对配置PHP环境就算完成了 e(cctC|l
n(&6E3ZcI
;sDFTKf
配置完成后 如果想测试 PHP 是否已经安装成功 可以在空间里根目录下建立一个文件 如 test.php 然后写入下面的语句 Pl
U!-7
<? bPWIf*3#
phpinfo(); |+%K89W
?> 0]&~ddL
保存后 用IE访问这个文件 $w{#o E
http://地址/test.php uk16
如果能见到这熟悉的页面 对配置PHP环境就真正成功了 W,:*`
q*8^938
当然 你也可以配置成 PHP运行在CGI模式 UW!!!
具体方法就是把原来设置的路径“ c:\PHP\sapi\php4isapi.dll ” 改为 “ c:\php\php.exe “%s” %s ” 然后把 “ 检查文件是否存在 ” 取消 然后确定 基本设置完成 lf&g *%?1
最后测试...... ]h,XRD K
<? +v/_R{ M
phpinfo(); C,.$g>)MZK
?> t\X5B ]EZ
U]O7RH
如果出现 CGI Error p "u5wJ_
The specified CGI application misbehaved by not returning a complete set of HTTP headers... Ji gc@@B.
这是代表php是以CGI模试运行的 在php.ini找到 gi.force_redirect 把前面的分号去掉 把值改成0就行了 .M!HVq47m
d
n3sh<
K[O'@v
s#>Bwn&b)
再次运行 成功了吧 这是PHP另一种运行模式的配置方法 j*xxOwf
?J|~G{yH k1W
q$KCwG
iXeywO2nP
0@vSl%I+
下一步来配置eaccelerator r!'\$(m E 让论坛速度更快 PHP加速设置 PHP加速:eaccelerator(用Turck MMcache会出现一些莫名其妙的错误,所以大家还是用eaccelerator吧) [;%qxAB/_
下载下面附件中的eaccelerator_win_4[1].3.9.rar 1t6VS 3
解压缩,把他放到C:\php\extensions\里 5\lOZYHX
mJp)nF8r~
H1]G<N3
然后打开c:\windows\php.ini &Nl:
搜索;extension=php_zip.dll (bY#!16C:
在下面添加 7EO/T,{a
[eaccelerator] s%GhjWZS
zend_extension_ts="C:\php\extensions\eaccelerator.dll" ?"\X46Gz;
eaccelerator.shm_size="64" B[}#m'Lv
eaccelerator.cache_dir="F:\tem\" 1jO}{U
注意上面的F:\tem\是用来放缓存的地方~不推荐大家把tem放在系统盘,这个大家可以自己定义. t[|^[%i
下一步来配置zend,下载地址看本帖附件 6x7pqHM Zend Optimizer用优化代码的方法来提高PHP 4.0应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。更快的反应同时也意味着可以节省硬件投资,并增强网站所提供的服务。所以,使用Zend Optimizer,就等于提高了电子商务的盈利能力。 1)U%p
n]jZ2{g+
?*){%eE
dX?8@uzu
Zend Optimizer能给PHP用户带来很多益处,特别是那些运营网站的人。快速运行PHP程序可以显著降低服务器的CPU负载,并可以减少一半的反应时间,也就是从访问者点击链接到服务器开始读取页面之间的时间。 Q)#+S(TG
8wMu^3r
&N.D!7X
安装Zend Optimizer优化PHP程序 u6j\@U6 I
Zend Optimizer是由PHP核心引擎“Zend” http://www.zend.com 创建者Zend技术公司所开的免费PHP优化软件。据Zend公司透露使用这个软件某些情况下至少可以提高性能30%以上!现在我们来看看如何配置这套软件。 q3<Pb,Z
{
<f]6
LNOm"D?"
%#7Yr(&
Zend Optimizer的安装很简单 MIGcV9hf
Lj`MFZ
1、运行安装文件,首先提示你选择安装目录,选择一个你喜欢的目录,单击“Next”。 6SJ
x 8|sdZFxo
2、安装向导会要求你选择当前使用的WEB服务器(Apache、IIS或其它),选择好服务器后单击“Next” `KgIr,Q)
HG{r\jh
3、安装向导提示您确认php.ini的位置(默认是C:\WINDOWS\)单击“Next”,提示“备份php.ini到C:\WINDOWS\php.ini-Optimizer-bak,当卸载该软件时可以恢复到原始的php.ini)单击“Next”。 W{B)c?G]
B@U;[cO&
>,wm-4&E
4、安装向导提示“为了继续安装程序需要重新启动IIS服务)单击“是”,安装程序开始重新启动IIS服务,然后安装程序会提示“IIS服务顺利重新启动了”单击“确定”,再单击“finish”完成安装。 nO.RB#I$F
5、安装完毕后程序会自动根据你的选择来修改php.ini帮助你启动这个引擎。下面我们来介绍Zend Optimizer的配置选项,帮助你最大化自定义合理的配置。 d2Pqi* K
[Zend] Ev+m+
zend_optimizer.optimization_level=15 !N ua
zend_extension_ts="C:\Program Files\Zend\lib\ZendExtensionManager.dll" KeFEUHU
zend_extension_manager.optimizer_ts="C:\Program Files\Zend\lib\Optimizer-2.5.5" QpbyC_:;$4
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ p;$Vw6W=
[Zend] ?B7n,!&~
zend_optimizer.optimization_level=1023 PZ06
_
zend_optimizer.encoder_loader=0 KsZd.Rf=@
zend_extension_ts="C:\Program Files\Zend\lib\ZendOptimizer.dll" 2j*;1
(网上资料中所看到的内容,也许是版本不同造成的内容有差异) d[eN#<
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ EFSln*|
现在我们来介绍上边这些配置文件中相关内容的含义: *uoc;6
zend_optimizer.optimization_level 《== 优化程度,这里定义启动多少个优化过程。 OiAP%7i9
zend_optimizer.encoder_loader 《== 是否允许处理由Zend Encoder加密的PHP文件。 oP vk ^H
zend_extension_ts 《== 优化器所在目录。 '@t}8J
zend_extension_manager.optimizer_ts 《== 优化器管理所在目录。 K)"lq5nM
0<(F
8
='"DUQH|*
b}s)3=X@q
g?-HAk6
优化过程 zend_optimizer.optimization_level 详细解释 csABfxib
这里最为重点的部分,仔细看!Zend Opt总共有10个优化过程,从理论上说开的越多性能越好。当然,理论和实际永远都存在着差距。优化过程开启的越多对性能消耗也相对也越大,Zend Opt的10个优化过程并不相同也就是说效果不是平均的。Zend公司定义的最高值(High模式)为15,这里15指的是开启1-4号优化过程。当然,很多朋友并不满足于此,毕竟最高也只开启4个优化过程连总数的一半都没有。各个优化过程的对应的数字代码(值)如下: ay4E\=k
不使用 0 <= 如果这样不如不装,还能节约点内存说! %\<SSp^n
优化过程1(PASS1) 1 a$-:F$z
优化过程2(PASS2) 2 `_M*2(rt
优化过程3(PASS3) 4 jG~zpZh
优化过程4(PASS4) 8 !0p_s;uu,W
优化过程5(PASS5) 16 t|XQFb@}
优化过程6(PASS6) 32 %+0
7>/
优化过程7(PASS7) 64 98O0M#|d
优化过程8(PASS8) 128 &b~if}vcb
优化过程9(PASS9) 256 x"7`,W
优化过程10(PASS10) 512 {\u=m>2U|
以何种方式开启优化过程是通过这些数字代码(值)相加所得的和作为此参数的参数值来控制的。如我的配置文件中zend_optimizer.optimization_level = 1023 , 这里的1023是优化过程1到优化过程10全部数字代码(值)相加得到的和,表示开启全部10个优化过程。刚才所提到的Zend公司定义的High模式值为15,15表示同时开启优化过程1-4。 D}YAu,<K
加密代码支持 zend_optimizer.encoder_loader 详细解释 d'y\~M9(
对于这个参数,我想如果没有看过Zend Opt FAQ文档的朋友大多数并不知道。这个参数用来告诉Zend Opt是否去支持被Zend Encoder加密过的代码。默认情况下Zend Opt将支持加密过的代码。如果不使用被加密过的代码我推荐你关闭此选项。这个功能牵扯到解包反码的过程,会导致系统负荷的加重。我的朋友已经开发完毕相应的反编译工具,预计春节之后推出。 KicPW}_
这个参数的值只有两个 0 关闭, 1 开启。默认为1,推荐设置为0。 vK@t=d
模块定位 zend_extension_ts 、zend_extension_manager.optimizer_ts无需解释,这些参数就是Zend Optimizer相关模块在硬盘上的安装路径。 L!2BE[~
6、如何获知Zend Optimizer是否在运行? +OM`c7M:
答案很简单,只要用PHP的函数phpinfo()来检测便知,如下所示: -SO`wL NV
<? ]m&cVy&
phpinfo(); :70n% 3a
?> bUJ5jkZ)
显示的结果中关于Zend Optimizer的部分就象下面这样: 5^:N]Mp"
This program makes use of the Zend Scripting Language Engine: gN./u
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.3, Copyright (c) 2003-2004, by Zend Technologies with Zend Optimizer v2.5.3, Copyright (c) 1998-2004, by Zend Technologies _\mMgZu
表示 Zend Optimizer for PHP优化成功了。 %uA\Le
下一步来安装mysql [(Jj@HlP6T 解压MYSQL4.024的压缩文件包 mysql-4.0.24-win.zip 然后运行安装程序 一直按下一步就OK 可以安装到C盘 省去一些设置上的麻烦 。跟着找到 C盘下的 MYSQL 文件夹 运行bin\winmysqladmin.exe 启动MYSQL 第一次会弹出一个需要输入帐号和密码的界面 名字和密码随你欢喜填上去(这个是本地安全码 会保存在操作系统中 My.ini 文件里 只允许在本机登陆 MYSQL 以提高安全性) 确定就结束了 算是完成 MYSQL的安装了。 GB MCw
PS:对于论坛的安装 —— 关键到和MYSQL数据库的连接成败 所以要注意 MYSQL的超级管理员密码是空的 帐号名字为 root 并不是填刚才安装后第一次运行MYSQL时自己设置的帐号和密码(这个只是类似于OICQ的本地安全码) 否则连接失败。 SI-G7e)3;>
H!uB&qY
r92C^h0
【设置 MYSQL 随系统运行自动加载】 @-9u;aL
开始-->运行--> 分别逐条输入下面的命令并确定 HH`G/(a
net start mysql (rDB|kc^7
services.msc >U?U;i
net stop iisadmin rwYlg:
net start w3svc sA!,)'6
c:\mysql\bin\mysqld-nt --install >M1m(u84#
如果是出现下面的提示 那是典型的数据库未启动故障 可在 mysql\bin执行winmysqladmin.exe 启动MYSQL就运行正常了 @!;EW
R]
Connect(0) to MySQL (localhost,root) failed 0C3s
The URL Is: I" AgRa
http://www.motianlong.com/bbs/index.php? 7NG^I6WP- MySQL Server Error: 6@N?`6Bt
Can't connect to MySQL server on 'localhost' (10061) ( 2003 )
D
H}gvV
You Can Get Help In: D`|.%
http://www.phpwind.net f/!^QL{
&}N=a QUOTE: YSQB*FBz 附:
tp4/c'w;)J 8Df(|>mK TttD}`\. 高级配置 MySQL 数据库
i]sz*\P~ 为了数据的安全 一些默认值你必须进行修改 比如密码之类
=[X..<bW9: (一) 连接MYSQL:
Yr7%C 格式: mysql -h主机地址 -u用户名 -p用户密码
io8c[#"uU 1、例1:连接到本机上的MYSQL
f[}N 首先在打开DOS窗口,然后进入目录 C:\mysql\bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
n4* hQi+d 2、例2:连接到远程主机上的MYSQL
Av3qoH)[< 假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
$%*E)~ mysql -h110.110.110.110 -uroot -pabcd123
<[N"W82p (注:u与root可以不用加空格,其它也一样)
w"p,6Ew 3、退出MYSQL命令
e@B+\1 exit (回车)
JYQ.Y!X1O 7x,c)QES` 67916 )qi/> GR, (二) 修改密码:
* &iSW~s 格式:mysqladmin -u用户名 -p旧密码 password 新密码
[5KzawV 1、例1:给root加个密码ab12。首先在DOS下进入目录C:\mysql\bin,然后键入以下命令:
HkH!B.H] mysqladmin -uroot -password ab12
y]z^e\qc) 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
WGG
Va 2、例2:再将root的密码改为djg345
E Z^eEDZ mysqladmin -uroot -pab12 password djg345
3F/05}d` (三) 增加新用户:(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
]yzqBbV 格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
auzrM4<tz 例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
}PdHR00^ grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
A>SXc%K 但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
,<,ige 例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
fevLu[, grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
oN0p$/La 如果你不想test2有密码,可以再打一个命令将密码消掉。
z%
ln} grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
/~k)#44 v&.`^O3W >O7ITy (四) 显示命令
]{`
8C 1、显示数据库列表:
In%K show databases;
8UAbTqB- 刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
ulc m 2、显示库中的数据表:
X<6Ro
es2 use mysql; //打开库,学过FOXBASE的一定不会陌生吧
Mo4#UV show tables;
<ZF,3~v? 3、显示数据表的结构:
F0cde describe 表名;
8|\0\Wd;vu 4、建库:
ct,Iu+HJ create database 库名;
NS^(5g 5、建表:
2(s+?n.N use 库名;
Cd>GY create table 表名 (字段设定列表);
x2 s%qZ# 6、删库和删表:
/U|> drop database 库名;
vY+{zGF drop table 表名;
P|rsq|', 7、将表中记录清空:
95`Q=I|i delete from 表名;
]e*Zx;6oi 8、显示表中的记录:
jGM+ select * from 表名;
[# X:!xcl P>*g'OK^!G =================================
lkj^<%N"r =================================
Q}a, f75 mysql安装好需要优化配置一下,打开c:\windows\my.ini文件
\
2cI=Qf 仔细对比下面我优化过的my.ini看看哪里没有的就加进去
RoL5uha,l CODE: M"q]jeaM #This File was made using the WinMySQLAdmin 1.4 Tool
=44hI86 #2005-12-4 15:37:01
vcsrI8+ #Uncomment or Add only the keys that you know how works.
xB&kxW.; #Read the MySQL Manual for instructions
FQV]/ [mysqld]
L&C<-BA/ basedir=C:/mysql
nG0Uv%?{pj #bind-address=192.168.1.1
/(`B;? datadir=C:/mysql/data
/EJwO3MW #language=C:/mysql/share/your language directory
(IAc*V~ #slow query log#=
0SoU\/kUi #tmpdir#=
5<%]6c x} #port=3306
-jBk set-variable = max_connections=2500
V}leEf2' skip-locking
KNR_upO8 #skip-networking
.zm'E< set-variable = key_buffer=384M
n?@3+wG set-variable = max_allowed_packet=1M
c"vF i~Db set-variable = table_cache=512
3f 1@<7* set-variable = sort_buffer=2M
&VY(W{\eY set-variable = record_buffer=2M
M<f=xY2$v set-variable = thread_cache=8
"8pfLI # Try number of CPU's*2 for thread_concurrency
D.e4S6\& set-variable = thread_concurrency=8
&4aY5y`8+f set-variable = myisam_sort_buffer_size=64M
FTB@70 #set-variable = connect_timeout=5
w(lxq:>" #set-variable = wait_timeout=5
gq$]jWtCD server-id = 1
/0w?"2- [isamchk]
Yl65|=ne set-variable = key_buffer=128M
?*I
_'2 set-variable = sort_buffer=128M
R~z@voM*< set-variable = read_buffer=2M
=:fFu,+{ set-variable = write_buffer=2M
T?!&a0 [myisamchk]
O2W EA set-variable = key_buffer=128M
?[[K6v}q{ set-variable = sort_buffer=128M
+y+-~;5iv set-variable = read_buffer=2M
{gSR49!Q set-variable = write_buffer=2M
IIN"'7Z^R #set-variable=key_buffer=16M
0(owFNUBs [WinMySQLadmin]
2r+@s g Server=C:/mysql/bin/mysqld-nt.exe
6Y#-5oEu/ user=root
Vrz6<c-'B password=********
wH:'5+u:6 [Copy to clipboard]
2>s@2=Aq ================好了,代码也优化好了,zend也装好了,基本上服务器配置也OK了~
YNGG> ;L 在开始--运行里输入
Sa V]6/| net stop iisadmin
u>~G)lx% 运行后然后输入
Cm4$&? net start w3svc
X%S9H^9 然后重新启动一下服务器就OK了~~