IIS/ Apache+PHP+MySQL+ Zend Optimizer完全安装手册

2006-08-05 17:20  Read:

下载MySQL、PHP(均为解压缩文件)、Zend Optimizer(EXE文件)、Apache(msi安装文件)此次下载的文件分别是:
php-4.3.8-Win32.zip‖mysql-4.1.3b-beta-win.zip‖ ZendOptimizer-2[1].5.3-Windows-i386.exe‖Apache_2.0.50-win32-x86-no_ssl.msi
下载网址如下:
PHP: http://www.php.net/downloads.php
MySQL:http://dev.mysql.com/downloads/
Apache:http://httpd.apache.org/download.cgi
Zend Optimizer:http://www.zend.com/store/products/zend-optimizer.php


安装MySQL:
解压缩mysql-4.1.3b-beta-win.zip双击setup.exe运行安装程序,在安装过程中注意选择mysql的安装目录(当然,你要默认目录也可以),比如我安装在D:wwwmysql目录下的话要先在D盘建立www文件夹再在该文件夹内建立mysql文件夹,安装时就可以在安装程序的列表里面选择安装目录了。安装完毕后,察看“服务”里有没有mysql该项服务在运行,如果没有,我们就要手动安装并启动它了。下面介绍详细方法。
“开始”→“运行”→“cmd”,启动cmd后做如下操作:
1、首先进入mysql安装目录内的bin目录
   D:wwwmysqlbin>

2、然后就是安装服务了
   D:wwwmysqlbin>mysqld-nt  -install

3、若无意外应该显示提示语
   Service successfully installed
   表示mysql服务已经安装了

4、下面就要启动它了
   D:wwwmysqlbin>net start mysql
   如果出现:
            MySQL正在启动
      MySQL无法启动
      系统出错
      发生系统错误 1067
      进程意外终止

  就要修改windows目录下(win2000系统为winnt)的my.ini指定mysql路径,默认值是c:mysql ,如果该文件不存在则要手动创建

[mysqld]
# set basedir to your installation path
basedir=D:/www/mysql
# set datadir to the location of your data directory
datadir=D:/www/mysql/data
[WinMySQLAdmin]
Server=D:/www/mysql/bin/mysqld-nt.exe

5、然后再次启动该服务
   D:wwwmysqlbin>net start mysql
   如果出现:
            MySQL服务正在启动
      MySQL服务已经启动成功
   正如提示所示服务已经启动成功。

6、现在可以测试MySQL是否可以正常工作了,运行以下命令:
   D:wwwmysqlbin>mysqlshow
   D:wwwmysqlbin>mysqlshow  -u  root  mysql
   D:wwwmysqlbin>mysqladmin  version status proc
   D:wwwmysqlbin>mysqladmin -u  root  shutdown
  (该句运行后就关闭MySQL服务,再次启动该服务后就可以使用MySQL了)

7、默认的用户名是root,密码为空。修改MySQL用户名、密码等相关操作请参考MySQL的相关资料学习。


安装PHP:
在安装之间,你必须先弄懂PHP安装的两种不同模式,一种是Cgi模式(CGI executable),另一种是模块化安装方式。可以这样来区别:在CGI模式下,如果客户机请求一个php文件,Web服务器就调用php.exe去解释这个文件,然后再把解释的结果以网页的形式返回给客户机;而在模块化中,PHP是与Web服务器一起启动并运行的,所以从某种角度上来说,以模块方式安装的PHP有着比CGI模式更好的安全性以及更好的执行效率和速度。所以建议在IIS下安装PHP时采用ISAPI模式安装,在Apache下采用模块方式安装。CGI模式的安装方法也会有所介绍,但不建议使用。
1、解压缩php-4.3.8-Win32.zip到D盘的www目录下的PHP文件夹里

2、复制php目录下php4ts.dll到C :widowssystem32目录下

3、复制php.ini.dist到widows目录下,并将扩展名.dist去掉,得到php.ini文件,用记事本打开修改个参数:
搜索extension_dir = "./" ,将其指向你的PHP的extensions目录,比如我的是D:wwwPHPextensions,我这样修改:
extension_dir ="D:wwwPHPextensions" 保存php.ini

4、如若想支持更多模块,请接下面去做,如果不想的话,直接保存php.ini文件即可.
  PHP所支持模块很多,不过有些dll不是免费的,所以没有随PHP的压缩包一起发布,不过dlls文件夹里带的就非常多了,刚才我们已经把它们复制到system32文件夹下了,现在我们测试看它支持多少模块。以下是测试的结果,仅供参考,如果安装完毕后,弹出不支持xxx.dll模块的话,直接将前面分号加上去就可以了,搜索:
;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.

下面都用分号在前面注释掉了支持的扩展模块,如果你想PHP支持某个模块,请将前面的“;”去掉即可,下面是我测试后的结果,一般按照下面那样去掉注释后没什么问题的:
extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_crack.dll
extension=php_curl.dll
extension=php_db.dll
extension=php_dba.dll
extension=php_dbase.dll
extension=php_dbx.dll
extension=php_domxml.dll
extension=php_exif.dll
extension=php_fdf.dll
extension=php_filepro.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_hyperwave.dll
extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
extension=php_imap.dll
extension=php_interbase.dll
extension=php_java.dll
extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mssql.dll
extension=php_msql.dll
;extension=php_oci8.dll
extension=php_openssl.dll
;extension=php_oracle.dll
extension=php_pdf.dll
extension=php_pgsql.dll
;extension=php_printer.dll
extension=php_shmop.dll
extension=php_snmp.dll
extension=php_sockets.dll
;extension=php_sybase_ct.dll
extension=php_w32api.dll
extension=php_xmlrpc.dll
extension=php_xslt.dll
extension=php_yaz.dll
extension=php_zip.dll
修改完成后,保存php.ini,完成PHP的模块安装。

5、我们还要对服务器进行配置,完成PHP的最终设置。
①打开“Internet 信息服务(IIS)管理器”,单击“默认 web 站点”,然后右键单击它,选择“属性(R)”,弹出对话框。

②单击“主目录”,做如下设置:在“本地路径”中选择你的机子上要作为站点根目录的文件夹,比如我的是D:wwwWEB,然后点击右下方的“配置(G)”,弹出“应用程序配置”对话框。

③在“应用程序配置”对话框中点选“添加(D)”选项,在“可执行文件中”浏览选择D:wwwPHPsapiphp4isapi.dll(若看不到D:wwwPHPsapi目录下的.dll文件,可在浏览对话框中文件类型要选择*.dll)选定后在“扩展名”输入框中输入.php,单击“确定”。

④最后一步设置默认文件即在“文档”→“启用默认内容文档”中添加index.php,设置好后一路确定

⑤如果这里使用的是WindowsServer2003系统,还要在“Internet 信息服务(IIS)管理器”→“Web服务扩展”→“添加一个新的Web服务扩展”→在“扩展名(X)”里输入自定义该Web服务扩展的标识,我这里命名为“PHP”并选择“设置扩展状态为允许”选项或在安装完毕后将Web服务扩展(PHP)“状况”设为“允许”→在“要求的文件”里单击“添加”按钮“浏览”到D:wwwPHPsapiphp4isapi.dll“确定”后完成最后的设置。

⑥测试一下php,我使用了探针程序来对配置好的环境进行测试
我使用了iProber v0.01 PHP探针(官方网站:http://depoch.net/download.htm),将文件iprober.php放到D:wwwweb里运行查看结果。

⑦要是想配置PHP(CGI模式)只要将需要D:wwwPHPsapiphp4isapi.dll的位置改为D:wwwPHPPHP.EXE即可,不需要拷贝php4ts.dll,但php.ini文件是需要的。
如果设置完成后,测试运行时出现如下内容:

Security Alert! The PHP CGI cannot be accessed directly.
This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.

For more information as to why this behaviour exists, see the manual page for CGI security.

For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit the manual page

不用怕,这是因为现在PHP在IIS中是以Cgi方式运行的,而你的php配置文件中这一项又没有打开。如果你看到上面的一段警告,你需要打开你的php.ini文件,然后查找";gi.force_redirect = 1"这样一句,把这一句前面的分号去掉,然后把1改成0就OK了,现在再来刷新一下你刚才的页面,如果没有什么意外的话,测试应该成功了。至此,PHP在IIS上的全部安装过程已经完成了。


安装Apache服务器
我们这次采用的是全新版本的Apache2(Apache_2.0.50-win32-x86-no_ssl.msi)。
1、        首先,在“服务”里停止“IIS Admin Service”这样做是保证安装Apache时不会与IIS产生冲突而影响Apache服务的正确安装。

2、运行文件开始安装,同意许可协议后,出现“please enter you server's information”提示输入服务器信息,这些信息在你安装完以后是可以修改的,所以可以放心的输入。举列如下:
Network Domain:mypc.com
Server Name:www.mypc.com
Administrator’s Email Address: papaxiong_007@163.com 该E-mail地址已受到防止垃圾邮件机器人的保护,您必须启用浏览器的Java Script才能看到。
并选择:for All Users,on Port 80,as a Service-Recommended.
单击“Next”。

3、选择“Custom”自定制安装,安装目录选择D:www,安装程序会自动在该路径下建立Apache2文件夹,并把程序安装在该目录内。

4、若无意外,安装完成后会在任务栏的右侧,出现图标提示为“Running All Apache Services”
(注意这个图标的状态,如果有一个绿色的小三角,说明你的服务器已经安装成功,如果是红色的点,则说明你的Apache没有安装成功,你需要进一步去找一下失败的原因。一般最常见的错误就是端口有冲突,Apache默认的端口是80,如果你的80端口被另一个程序(如IIS)占用了的话,就会出现无法启动的情况,这就是为什么我一开始就关闭IIS服务的原因了。若你想在运行Apache的同时又要运行IIS服务,你就要按照下面的方法来修改:          点击"开始"->"所有程序"->Apache HTTP Server 2.0.50->Configure Apache Server->Edit the Apache httpd.conf Configuration File会打开一个Apache的配置文件,你可以用文本编辑器来打开它。然后在这个文件的第120行,你会发现类似于"Listen 80"的字样。现在只要把这个80改成你想要的端口即可,当然在你用浏览器浏览的时候也不要忘了加上端口哦。这时候再在服务里启动“IIS Admin Service”服务就可以同时运行IIS和Apach了。

5、下面我们来测试一下它是否在工作。打开你的浏览器,在地址栏上输入"http://localhost/"(如果你的端口不是80,需要在后面加上":端口号"),不知道你是否看到了Apache的欢迎页,如果你也没有看到,可以试着在后面加上一个文件名"index.html.en",如果能出现欢迎页面,则说明Apache已经工作正常了。

6、好了,Apache已经安装OK了,接下来就是如何将其跟PHP结合起来了。首先要先停止Apache服务,以保证能够对配置文件进行修改和及时的更新。
(1)最开始的三步和上边介绍的IIS下的安装步骤是相同的,注意php.ini文件,如果有必要的话,修改一下"extension_dir"和"doc_root"这两项的值。(把doc_root改成你的服务器的根目录,把extension_dir改成你的PHP安装文件夹中的extensions文件夹所在的绝对路径。)

(2)接着便是最重要的一步了,也是模块化安装的核心步骤了。
配置apache里的httpd.conf
打开 D:wwwApache2confhttpd.conf 这个文件,也可以通过点击"开始->程序->Apache HTTP Server 2.0.50->Configure Apache Server->Edit the Apache httpd.conf Configuration File"打开。
找到 AddDefaultCharset ISO-8859-1 将其改为 AddDefaultCharset GB2312 (让默认语言编码为简体中文)。
找到 DocumentRoot "D:/www/Apache2/htdocs" 将其改为你的WEB目录(可不改)如我的为 DocumentRoot "D:/www/web"。
找到 DirectoryIndex index.html index.html.var 在后面加入 index.htm index.php (各个默认文档之间用空格分开)。

选择安装模式: 模块化模式安装 或 CGI模式安装 (选一样即可)

----------------------------------------------模块化安装配置----------------------------------------
找到 #LoadModule ssl_module modules/mod_ssl.so 这行,在此行后加入一行
LoadModule php4_module D:/www/php/sapi/php4apache2.dll
其中D:/www/php/sapi/php4apache2.dll 为你php目录中php4apache2.dll所在的位置
找到 AddType application/x-gzip .gz .tgz 这行,在此行后加入一行
AddType application/x-httpd-php .php
-----------------------------------------------------------------------------------------------------------

----------------------------------------------CGI安装配置-------------------------------------------
找到 AddType application/x-gzip .gz .tgz 这行,加入如下即可
ScriptAlias /php/ "d:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
-------------------------------------------------------------------------------------------------------------

此时Apache +PHP环境基本已经配置成功
在WEB根目录(如我的D:wwwweb)里建一个名为info.php的文件内容如下
<? echo phpinfo(); ?>
这时候启动apache服务
用浏览器打开 http://localhost/info.php (如果你的端口不是80,需要在后面加上":端口号"),
如果可以看到php配置输出信息就OK了,或用探针程序察看配置信息。


安装Zend Optimizer优化PHP程序
Zend Optimizer是由PHP核心引擎“Zend”创建者Zend技术公司所开的免费PHP优化软件。据Zend公司透露使用这个软件某些情况下至少可以提高性能30%以上!现在我们来看看如何配置这套软件。

Zend Optimizer的安装很简单,
1、运行安装文件,首先提示你选择安装目录,选择一个你喜欢的目录,单击“Next”。
2、安装向导会要求你选择当前使用的WEB服务器(Apache、IIS或其它),选择好服务器后单击“Next”
3、安装向导提示您确认php.ini的位置(默认是C:WINDOWS)单击“Next”,提示“备份php.ini到C:WINDOWSphp.ini-Optimizer-bak,当卸载该软件时可以恢复到原始的php.ini)单击“Next”。
4、安装向导提示“为了继续安装程序需要重新启动IIS服务)单击“是”,安装程序开始重新启动IIS服务,然后安装程序会提示“IIS服务顺利重新启动了”单击“确定”,再单击“finish”完成安装。
5、安装完毕后程序会自动根据你的选择来修改php.ini帮助你启动这个引擎。下面我们来介绍Zend Optimizer的配置选项,帮助你最大化自定义合理的配置。
[Zend]
zend_optimizer.optimization_level=15
zend_extension_ts="D:wwwZendlibZendExtensionManager.dll"
zend_extension_manager.optimizer_ts="D:wwwZendlibOptimizer-2.5.3"
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
[Zend]
zend_optimizer.optimization_level=1023
zend_optimizer.encoder_loader=0
zend_extension_ts="Crogram FilesZendlibZendOptimizer.dll"
(网上资料中所看到的内容,也许是版本不同造成的内容有差异)
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

现在我们来介绍上边这些配置文件中相关内容的含义:
zend_optimizer.optimization_level 《== 优化程度,这里定义启动多少个优化过程。
zend_optimizer.encoder_loader 《== 是否允许处理由Zend Encoder加密的PHP文件。
zend_extension_ts 《== 优化器所在目录。
zend_extension_manager.optimizer_ts 《== 优化器管理所在目录。

优化过程 zend_optimizer.optimization_level 详细解释

这里最为重点的部分,仔细看!Zend Opt总共有10个优化过程,从理论上说开的越多性能越好。当然,理论和实际永远都存在着差距。优化过程开启的越多对性能消耗也相对也越大,Zend Opt的10个优化过程并不相同也就是说效果不是平均的。Zend公司定义的最高值(High模式)为15,这里15指的是开启1-4号优化过程。当然,很多朋友并不满足于此,毕竟最高也只开启4个优化过程连总数的一半都没有。各个优化过程的对应的数字代码(值)如下:

       不使用      0  <= 如果这样不如不装,还能节约点内存说!
优化过程1(PASS1) 1
优化过程2(PASS2) 2
优化过程3(PASS3) 4
优化过程4(PASS4) 8
优化过程5(PASS5) 16
优化过程6(PASS6) 32
优化过程7(PASS7) 64
优化过程8(PASS8) 128
优化过程9(PASS9) 256
优化过程10(PASS10) 512

以何种方式开启优化过程是通过这些数字代码(值)相加所得的和作为此参数的参数值来控制的。如我的配置文件中zend_optimizer.optimization_level = 1023 , 这里的1023是优化过程1到优化过程10全部数字代码(值)相加得到的和,表示开启全部10个优化过程。刚才所提到的Zend公司定义的High模式值为15,15表示同时开启优化过程1-4。

加密代码支持 zend_optimizer.encoder_loader 详细解释

对于这个参数,我想如果没有看过Zend Opt FAQ文档的朋友大多数并不知道。这个参数用来告诉Zend Opt是否去支持被Zend Encoder加密过的代码。默认情况下Zend Opt将支持加密过的代码。如果不使用被加密过的代码我推荐你关闭此选项。这个功能牵扯到解包反码的过程,会导致系统负荷的加重。我的朋友已经开发完毕相应的反编译工具,预计春节之后推出。

这个参数的值只有两个 0 关闭, 1 开启。默认为1,推荐设置为0。

模块定位 zend_extension_ts 、zend_extension_manager.optimizer_ts无需解释,这些参数就是Zend Optimizer相关模块在硬盘上的安装路径。

6、如何获知Zend Optimizer是否在运行?
答案很简单,只要用PHP的函数phpinfo()来检测便知,如下所示:
<?php
phpinfo();
?>
显示的结果中关于Zend Optimizer的部分就象下面这样:
This program makes use of the Zend Scripting Language Engine:
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
表示优化成功了。


用户名: 密码:
匿名发表
全部评论:0