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


     

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

    image

    可以明显看出,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信息服务”,选中“万维网服务”(注:此选项下还可进一步作选项筛选,请根据自己需要选用,如下图所示),点确定即安装完成。

    clip_image004

    2、安装FastCGI 1.5 for IIS 6 and 5.1

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

    clip_image006

    打开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版本)

    clip_image008

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

    clip_image010

    安装过程中选择开启哪些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,如下图

    clip_image012

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

    clip_image014

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

    clip_image016

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

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

    clip_image018

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

    clip_image020

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

    clip_image022

    点下一步,这一步把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

  • 相关阅读:
    每次阅读外文技术资料都头疼,终于知道原因了。
    前端利器躬行记(6)——Fiddler
    前端利器躬行记(5)——Git
    前端利器躬行记(4)——webpack进阶
    前端利器躬行记(3)——webpack基础
    xshell的快捷命令
    本机,同机房,同城,异地,不同城,腾讯云ping延时值
    Redis入门指南(第2版) Redis设计思路学习与总结
    与MySQL传统复制相比,GTID有哪些独特的复制姿势?
    iptables的conntrack表满了导致访问网站很慢
  • 原文地址:https://www.cnblogs.com/naniannayue/p/2772992.html
Copyright © 2020-2023  润新知