IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法

 

首先我们去zend的官方网站去看看 http://www.zend.com/products/guard/downloads

 

IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法_第1张图片

可以明显看出,ZendOptimizer只支持到 php 5.2版本,而最新的 php5.3 则不支持。如果我们需要使用php5.3,则可以使用ZendOptimizer的升级版本,即Zend Guard Loader.

需要注意的是:Zend Guard Loader支持的服务器系统如下。

Linux x86

Linux x86-64

Windows x86 2000 / XP / 2003 / Vista

Mac OS X 10.4

如果是windows 系统,暂时只能是32位的 2003/vista.至于32位的win7是否支持,我暂时没有试过。

本文将详细讲解IIS 6.0+PHP 5.3.18 (因为是使用FastCgi模式,所以我们选择VC9 x86 Non Thread Safe)+Mysql 5.5.20+Zend Guard Loader (Runtime for PHP 5.3)(即ZendOptimizer的升级版)+phpMyAdmin 3.4.9环境配置过程。操作系统以Windows.Server.2003为例,其他系统仍可以参考。

 

第一步,下载相关软件

本次实例所使用的是系统是Windows.Server.2003 32位版本,因此以下软件都是下载对应这个版本的,使用其他版本的windows系统的同学请自行下载相对应软件。如链接失效,请直接在官方网站查找。

FastCGI 1.5 for IIS 6 and 5.1
官方下载网页:http://www.iis.net/download/FastCGI
下载地址:http://go.microsoft.com/?linkid=9707432

 

如果是win7,或者是windows server 2008R2等更高级的系统,则不需要自己下载 FastCgi,具体的文章,可以看看我的win7 32位 fastcgi模式 运行php

PHP 5.3.18 VC9 x86 Non Thread Safe
官方下载网页:http://windows.php.net/download/
下载地址:http://windows.php.net/downloads/releases/php-5.3.18-nts-win32-VC9-x86.msi

 

Mysql 5.5.20
官方下载网页:http://dev.mysql.com/downloads/mysql/5.5.html
下载地址:http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.5/mysql-5.5.20-win32.msi

 

Zend Guard Loader (Runtime for PHP 5.3)
官方下载网页:http://www.zend.com/products/guard/downloads
下载地址:http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-Windows.zip

 

phpMyAdmin 3.4.9
官方下载网页:http://www.phpmyadmin.net/home_page/downloads.php
下载地址:http://nchc.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.9/phpMyAdmin-3.4.9-all-languages.7z

 

第二步,安装配置软件

1、安装IIS

打开“控制面板”,进入“添加或删除程序”,点击“添加/删除windows组件”,弹出“windows组件向导”对话框。双击“应用程序服务器”,再双击“Internet信息服务”,选中“万维网服务”(注:此选项下还可进一步作选项筛选,请根据自己需要选用,如下图所示),点确定即安装完成。

IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法_第2张图片

2、安装FastCGI 1.5 for IIS 6 and 5.1

IIS6里面没有集成FastCGI,所以需要安装这个才能跑起PHP。这个没什么好说的,直接安装,默认会更改系统的PHP环境,安装完成后,打开IIS管理器,网站上点右键-属性-主目录-配置,如果有PHP选项就修改,没有就添加配置如下图

IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法_第3张图片

打开FASTCGI配置文件C:\WINDOWS\system32\inetsrv\fcgiext.ini,看最后有没有下面这段,如果没有就加上
[Types]
php=PHP
[PHP]
ExePath=D:\Program Files\Php\php-cgi.exe

如需IIS支持伪静态,请查看《IIS6伪静态配置(以实现wordpress固定链接/伪静态为例讲述)》

3、安装配置PHP

PHP5.3有 VC9 版本和 VC6 版本,VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。

打开下载页面,你还能看到有Thread Safe 和 Non Thread Safe 版本。
先从字面意思上理解,Thread Safe 是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源。Non Thread Safe 是非线程安全,在执行时不进行线程(Thread)安全检查。

再来看 PHP 的两种执行方式:ISAPI 和 FastCGI。

ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;

而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI 来执行 PHP,建议选择 Non Thread Safe 版本。

这里我采用的是PHP 5.3.18 VC9 x86 Non Thread Safe,以 FastCGI 来执行 PHP。下载中间的安装包,直接安装

Installer下载地址

如果上面的这个地址打不开,可以访问http://windows.php.net/downloads/releases/ 然后选择合适的版本来下载.记得是要选择 NTS版本的。(也就是适合FastCgi模式的Non Thread Safe版本)

IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法_第4张图片

选择适合的安装路径,下一步选择IIS FastCGI,如下图。下一步,安装完成。

IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法_第5张图片

安装过程中选择开启哪些PHP扩展,自己决定。这些都可以在PHP.INI里开启关闭的。

安装后找到PHP安装目录下的PHP.INI文件,找到下面
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
; date.timezone =
更改为
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

IIS上新建一网站,放入phpinfo.php文件,代码为<?php phpinfo(); ?> 。至此,PHP服务端搭建基本完成,下面继续讲解MySQL+Zend Guard Loader(ZendOptimizer)+phpMyAdmin的配置。

4、安装Mysql 5.5.20

下载安装包,双击安装,点下一步默认是Typical,建议改成Custom,因为Typical模式不允许改变安装路径,只能安装在C盘。选中Custom选项。然后一直点下一步,选择安装的路径,和安装的组件,我这里都是默认选项,可以根据自己情况来选。一直到完成。到Finish的一步,上面有个选项,选上,这是进入配置MySQL的。

下面我们来看看配置选项,配置开始,选下一步,
选择Detailed Configuration,如下图

IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法_第6张图片

下一步,这个选项是选择mysql应用于何种类型,第一种是开发服务器,将占用尽量少的内存,第二种是普通web服务器,将占用中等数量内存,最后一种是这台服务器上面只跑mysql数据库,将占用全部的内存,这里选择第二项,你可根据自己的需求,选择其它选项。

IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法_第7张图片

下一步,这里是选择数据库用途,第一种是多功能用途,将把数据库优化成很好的InnoDB存储类型和高效率的MyISAM存储类型,第二种是只用于事务处理类型,最好的优化InnoDB,但同时也支持MyISAM,最后一种是非事务处理类型,适合于简单的应用,只有不支持事务处理的MyISAM类型是被支持的。一般选择第一种多功能的。

IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法_第8张图片

下一步,这里是选择InnoDB的数据存放位置,一般默认好了,不需要改动。

下一步,这里是选择mysql允许的最大连接数,第一种是最大20个连接并发数,第二种是最大500个并发连接数,最后一种是自定义,你可以根据自己的需要选择。这里我选择第三项自定义,输入20(你可以根据你的具体需求选择或者输入)。

IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法_第9张图片

下一步,这里是选择数据库监听的端口,一般默认是3306,如果改成其它端口,以后连接数据库的时候都要记住修改的端口,否则不能连接mysql数据库,建议不作修改,用mysql的默认端口:3306。
将端口设置后面的“Add firewall exception for this port”勾选中,如果你开启了Windows防火墙,将自动把这里设置的端口(3306)排除在外(允许连接网络)(如果你没有开启Windows防火墙这里就不要勾选,Windows server 2003 正版默认是没有开启的)。
下面的Enable Strict Mode勾去掉,改为不选。

IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法_第10张图片

下一步设置mysql的默认编码,默认是latin1,建议选择第三项自定义,把它改成utf8。

IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法_第11张图片

点下一步,这一步把mysql设置成windows的服务,service name是命名MySQL的服务名称,下面的launch the mysql server automatically勾选中表示,该服务为自动运行。这样以后就可以通过windows服务启动和关闭mysql数据库了。然后把下面的Include Bin Directory in Windows PATH勾选中(这个表示自动修改环境变量,在PATH的值中增加../bin目录)。

点下一步,这一步是设置mysql的超级用户密码,这个超级用户非常重要,对mysql拥有全部的权限,设置的密码一定要记好。在两个输入框中(New root password、Confirm)把要设置的密码分别输入两次。出于安全考虑,一般不要选“Enable root access from remote machines”,允许数据库外连是很危险的。“Create An Anonymous Account”是创建一个匿名帐号,这样会导致未经授权的用户非法访问你的数据库,有安全隐患,建议不要勾选。

再下一步,MySQL已配置完成,查看“控制面板”的“管理工具”中, “服务”是否有“MySQL”进程。

5、安装Zend Guard Loader

由于ZendOptimizer不支持PHP5.3,使用PHP5.3以上版本的用户就安装Zend Guard Loader (Runtime for PHP 5.3)。很简单解压出ZendLoader.dll,放到PHP的ext目录。我的是C:\Program Files\PHP\ext。然后修改php.ini,在文件末端添加以下代码

[Zend.loader]
zend_extension=C:\Program Files\PHP\ext\ZendLoader.dll
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=

注意:1、zend_extension的路径不需要加引号!!
2、Zend Guard Loader支持的操作系统:
– Linux x86
– Linux x86-64
– Windows x86 2000 / XP / 2003 / Vista
– Mac OS X 10.4
这是部分童鞋按网上部分的教程操作之后,还是不生效的原因。

配置完成,打开刚刚的phpinfo.php文件,可以看到一段话“with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies”如图所示。

clip_image023

6、安装phpMyAdmin 3.4.9

官方下载网页:http://www.phpmyadmin.net/home_page/downloads.php
下载地址:http://nchc.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.9/phpMyAdmin-3.4.9-all-languages.7z

下载程序,解压,放到网站目录下。启动网站,可以直接打开连接数据库了。phpMyAdmin 3不需要怎么配置。完美主义者就去谷歌一下吧。

 

如果运行 discuz的时候提示

 

Notice: Undefined index: fromuid in ·····index.php on line 120
Notice: Undefined index: fromuid in ·····index.php on line 122
 

首先,这个不是错误,是warning。所以如果服务器不能改,每个变量使用前应当先定义。

解决方法:服务器配置修改

修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE

你可能感兴趣的:(IIS6.0+PHP5.3+MySQL+Zend Guard Loader(ZendOptimizer的升级版)+phpMyAdmin环境配置图解,discuz论坛 Notice: Undefined index解决方法)