音效素材网提供各类素材,打造精品素材网站!

站内导航 站长工具 投稿中心 手机访问

音效素材

win2008 R2 下 IIS7.5+PHP5.2.17+Mysql5.5.16+Zend3.3.3
日期:2021-06-29 00:04:14   来源:脚本之家

前言

windows Server 2008 R2 下面IIS7.5已经对fastcgi的支持有了很大改进,还在使用PHP-ISAPi模式的朋友可以试一下。

鉴于目前php5.3.1还不能完美的支持主流php系统,不建议大家使用!

Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非
线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍。

从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由
于与Linux/Unix系统是采用多进程的工作方式不同的是Windows系统是采用多线程的工作方式。如果
在IIS下以CGI方式运行PHP会非常慢,这是由于CGI模式是建立在多进程的基础之上的,而非多线程。
一般我们会把PHP配置成以ISAPI的方式来运行,ISAPI是多线程的方式,这样就快多了。但存在一个
问题,很多常用的PHP扩展是以Linux/Unix的多进程思想来开发的,这些扩展在ISAPI的方式运行时就
会出错搞垮IIS。因此在IIS下CGI模式才是PHP运行的最安全方式,但CGI模式对于每个HTTP请求都
需要重新加载和卸载整个PHP环境,其消耗是巨大的。

为了兼顾IIS下PHP的效率和安全,微软给出了FastCGI的解决方案。FastCGI可以让PHP的进程重
复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个进程同时执行。这样既解决
了CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优势。

因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用
FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)
的版本能够更好的提高效率。

windows2008 Server R2下面环境搭建分三种情况,大家可以根据自己的运行需要选择。

1、 IIS7.5+PHP+Mysql+Wincache 1.0RC

这个环境组合大家已经看出来了 没有zend。

各个版本分别是:

PHP5.2.17–请注意是非线程安全版本 PHP 5.2.17 Non-thread-safe zip package,

MYSQL5.0 x64,

Wincache1.0rc for5.2,这个大家可以去微软IIS官方下载,他将极大地提高您的系统运行效率!

如果您的服务器运行的都是开源程序,不需要zend,强烈建议您使用这个配置!

2、 IIS7.5+PHP+Mysql+Zend+Xcache

此组合版本分别是:

Php-5.2.17-win32-vc6-x86.zip PHP请注意是线程安全版本

mysql-essential-5.0.91-winx64.msi

ZendOptimizer3.3.3-windows x86

Xcache1.3 for XCache-1.3.0-php-5.2.17-Win32-VC6-x86.zip

此组合可以完美运行当今主流的PHP系统,但是美中不足的是使用PHP线程安全版本无法加载wincache,很遗憾的一点!但是可以用xcache作为补充,但是相比PHP-ISAPI模式已经好多了!

3、 鉴于IIS7.5的新特性,可以根据每个站点的具体情况定制属于他的专有运行环境!

在iis7.5 fastcgi模式下,IIS官方建议为每个站点设立单独的应用池,并且每个站点都可以拥有它自己的PHP.ini以及fastcgi.exe.允许在一台主机上运行不同版本的PHP.[1]

[1]以上部分内容引自网络.

[2] Windows 2008 R2 仅有X64版本/Windows 2008有X86和X64版本/Windows 7有X86和X64版本; 以下教程对前面两个X86版本也能支持,仅需要替换MYSQL对应版本即可.

准备程序

选择以下这些版本需要注意的是MYSQL在2008R2下可以选择64位的,PHP的VC9是针对IIS的,VC6针对apache的,线程安全和非安全版本本次选择的是线程安全版本, PHP线程安全版本无法加载wincache,所以我们用Xcache作为替代,如果想用wincache就选用非线程安全版本,

1.mysql-essential-5.0.91-winx64.msi
2.Php-5.2.17-win32-vc6-x86.zip
3.ZendOptimizer-3.3.3-windows-i386.exe
4. Xcache1.3 .2for-php-5.2.17-Win32-VC6-x86.zip
5.phpMyAdmin-3.3.10.-all-languages.zip

安装配置路径规划
MYSQL D:\service\ MYSQL
PHP D:\service\ PHP
Zend D:\service\ Zend
MYSQLdatebase D:\service\ MYSQLdatebase
WEB目录D:\WEB\ZTGPS

以下教程为完全说明,做过部分优化,完全经过测试,主调试环境Windows 2008 R2 SP1服务器已安装组件NET.FROMWORK 4+VC2008X64,教程有不当之处欢迎探讨.

一、安装配置MySQL

二、安装配置IIS7.5

三、安装配置PHP

四、IIS7.5配置FASTCGI

五、安装ZendOptimizer 

六、Xcache安装配置

七、网页压缩配置

八、配置phpmyadmin

九、EmpireBak v2010 帝国备份

十、静态化安装配置

十一、其它事项

一、安装配置MySQL

(1),双击 mysql-essential-5.0.91-winx64.msi

NEXT


选择 Custom 自定义安装:

Next

点击"Change"更改MySQL安装目录:D:\service\ MYSQL
待文件复制安装完毕后,进行MySQL设置界面,单击Finish

NEXT

出现以下选择

选择DetailedConfiguration(详细配置):

NEXT

出现以下选择

选择MySQL运行模式:Server Machine

NEXT

出现以下选择

选择 MySQL 数据库默认存储方式:Non-Transactional Database Only
接则选择该选项。 NEXT

出现以下选择

· Manual Setting(人工设置):选择该选项可以手动设置服务器并行连接的最大数目。从前面的下拉框中选择并行连接的数目,如果你期望的数目不在列表中,则在下拉框中输入最大连接数。

设定 MySQL 最大连接数:一般设置为 128 - 512 之间的整数:
NEXT

出现以下选择Enable Strict Mode ,这样MySQL就不会允许细小的语法错误。
建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。
NEXT

出现以下选择
使用Manual Selected Default Character Set/Collation(字符集对话框)来更改 MySQL服务器的默认字符集.
这里请选择你所要的默认字符集,中国大陆就选GBK吧
NEXT

出现以下选择

要想将MySQL服务器安装为服务,并自动启动,请选中Launch the MySQL Server Automatically选项

Service name 默认mysql就行

Include Bin Directory in windows Path 这个也选上
NEXT

修改设定 root 用户密码,注意:不要启动远程连接模式!
把Enable root access from remote machines
Create an anonymous account的两处取消选择

NEXT install
完成 MySQL 的安装,会自动启动 MySQL 服务。

(1)测试MySQL工作是否正常。

打开cmd命令提示符窗口,输入命令:MySQL –u root –p

输入密码后,如果能够正常进入MySQL控制台则说明MySQL安装正常。

更改MySQL数据库目录

a)打开cmd命令提示符窗口,输入命令:net stop MySQL停止MySQL服务运行;

b)打开D:\ service\MySQL\my.ini

找到:

Datadir = "D:\ service\MySQL\data"

修改为:

Datadir = "D:\Service\ MySQLDatabase"

c)将D:\Service\MySQL\data文件夹内的内容复制到D:\Service\MYSQLDatabase;

d)打开cmd命令提示符窗口,输入命令:net start MySQL启动MySQL服务。

e)重新测试MySQL是否工作正常。

(3)准备LibMySQL动态链接库

将D:\Service\MySQL\bin\目录下的 libMySQL.dll, libmcrypt.dll, php5ts.dll(如果没有libmcrypt.dll,php5ts.dll这两个文件请到PHP程序目录下提取) 3个文件复制到 C:\Windows\System32

  注:my.ini上面“basedir”是指向MySQL的安装目录,“datadir”指向MySQL的数据存放目录。

至此MySQL已经安装完毕

三、安装配置PHP

打开Php-5.2.17-win32-vc6-x86.zip

把php的压缩包内的文件解压到 D:\Service\PHP文件夹,将php.ini-dist重命名为php.ini。

打开 php.ini文件,

找到:extension_dir = "./"

将其改为;

extension_dir = "D:/Service/PHP/ext"

extension_dir是存放扩展库(模块)的目录,也就是PHP用来寻找动态扩展模块的目录。

找到Post_max-size= 8M

修改为30M

找到:Windows Extensions

在 Windows Extensions下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的;号即可)

extension=php_gd2.dll, GD库支持,如果不打开该模块则Discuz!论坛图片水印不能使用。

extension=php_mcrypt.dll,更好的支持phpmyadmin不选的话,会出现“无法载入mcrypt扩展

extension=php_mbstring.dll,打开mbstring,不选的话用phpMyAdmin会出现红色提示。
extension=php_mysql.dll, 支持MySQL。

extension=php_pdo.dll,

extension=php_pdo_mysql.dll,
前面的分号去掉,这样php才可以支持这些扩展,

还要开哪些功能可以以后根据需要再修改。php.ini可以备份,以后重装系统可以直接用。

8、配置session.save_path路径

更改session.save_path的路径为D:/Service/php/tmp (注意有好几段此文字,请选择如下图的目录位置,此目录需要手动建立并开放读写权限)

session.save_path高级配置及其他说明事项,从php.ini配置文件翻译而来

  你可以使用”N;[MODE;]/path”这样模式定义该路径,N是一个整数,表示使用N层深度的子目录,而不是将所有数据文件都保存在一个目录下。

  [MODE;]可选,必须使用8进制数,默认600(=384),表示每个目录下最多保存的会话文件数量。[MODE;]并不会改写进程的umask。php不会自动创建这些文件夹结构。可使用ext/session目录下的mod_files.sh脚本创建。如果该文件夹可以被不安全的用户访问(比如默认的”/tmp”),那么将会带来安全漏洞。当N>0时自动垃圾回收将会失效,具体参见下面有关垃圾搜集的部分。

  如果你服务器上有多个虚拟主机,建议针对每个不同的虚拟主机分别设置各自不同的目录。

  至此最基本的session配置就完成了,你只要保存php.ini,并重启IIS,即可使用session功能。

  其他session配置说明

  session.save_handler = ”files”

  默认以文件方式存取session数据,如果想要使用自定义的处理器来存取session数据,比如数据库,用”user”。

  session.use_cookies = 1

  是否使用cookies在客户端保存会话sessionid,默认为采用cookies

  session.use_only_cookies = 0

  是否仅仅使用cookie在客户端保存会话sessionid,这个选项可以使管理员禁止用户通过URL来传递id,默认为0,如果禁用的话,客户端如果禁用Cookie将使session无法工作。

  session.name = “PHPSESSID”

  当做cookie name来使用的session标识名

  session.auto_start = 0

  是否自动启动session,默认不启动,我们知道在使用session功能时,我们基本上在每个php脚本头部都会通过session_start()函数来启动session,如果你启动这个选项,则在每个脚本头部都会自动启动session,不需要每个脚本头部都以session_start()函数启动session,推荐关闭这个选项,采用默认值。

  session.cookie_lifetime = 0

  传递sessionid的Cookie有效期(秒),0表示仅在浏览器打开期间有效。

  session.gc_probability = 1

  session.gc_divisor = 100

  定义在每次初始化会话时,启动垃圾回收程序的概率。计算公式如下:session.gc_probability/session.gc_divisor,比如1/100,表示有1%的概率启动启动垃圾回收程序,对会话页面访问越频繁,概率就应当越小。建议值为1/1000~5000。

  session.gc_maxlifetime = 1440

  设定保存的session文件生存期,超过此参数设定秒数后,保存的数据将被视为'垃圾'并由垃圾回收程序清理。判断标准是最后访问数据的时间(对于FAT文件系统是最后刷新数据的时间)。如果多个脚本共享同一个session.save_path目录但session.gc_maxlifetime不同,将以所有session.gc_maxlifetime指令中的最小值为准。

  如果你在session.save_path选项中设定使用子目录来存储session数据文件,垃圾回收程序不会自动启动,你必须使用自己编写的shell脚本、cron项或者其他办法来执行垃圾搜集。

  比如设置”session.gc_maxlifetime=1440″ (24分钟):

  cd /path/to/sessions; find -cmin +24 | xargs rm

  以上是一些常用的session配置选项说明,更多的session配置选项说明你可以参考php.ini文件中的说明。

接下来修改了一些文件上传以及内存使用最大限制:
搜索Resource Limits
找到以下进行修改:
max_execution_time = 30 ; 这里是每个脚本运行的最长时间,可以自己修改加长,单位秒。
max_input_time = 60 ; 这里是每个脚本可以消耗的时间,单位也是秒。
memory_limit = 128M ; 这里是脚本运行允许的最大内存,根据自己机器情况自行配置。
搜索upload_max_filesize
upload_max_filesize = 2M 这里是上载文件的最大许可大小 ,在线上传的图片站、论坛等可能需要设置更大的,自行修改。

现在php基本配置完成了,保存php.ini文件,并将其复制到C:\Windows\

顺便提醒一下别忘记把register_globals = Off修改成register_globals = On。

四、IIS7.5配置FASTCGI

打开PHP目录下的php.ini,查找:extension_dir = "./"

此处为PHP扩展的目录,检查是否如下extension_dir ="D:\service\php\ext\"
 

按图配置参数:

保存并关闭!

接下来将PHP挂接到IIS

打开IIS管理器,找到:“处理程序映射”,打开如下图 点击 添加模块映射:

上图引用自网络,把可执行文件位置替换成D:\service\php\php-cgi.exe即可.

确定后会提示是否创建FASTCGI应用程序,点击是.

此时回到IIS功能视图,找到:“FastCgi设置”,打开并按图操作

添加文件监视和环境变量:PHP_FCGI_MAX_REQUESTS,取值设置为10000:

添加对php.ini的文件监视可以在修改php配置之后重启IIS而让更改实时生效!

进入D:\web\ZTGPS目录,新建一个phpinfo.php文件,内容为:

<?php

phpinfo();

?>

如果加载FASTCGI不成功点击-应用程序池--然后DefaultAppPool应用池-选择高级设置

启用32位应用程序 后面选择 True

 安装 ZendOptimizer

 安装过程非常友好,也比较简单,因而此处无截图说明。但需注意以下几点:

(1) Zend Optimzer 的安装目录要指定为 D:\Service\Zend ;

(2) 在安装过程中提示 php.ini 的位置是,注意观察是否为 C:\Windows ,如果不是必须手动指定为 php.ini 的位置 ;也可以按默认,你把刚才配置的 php.ini 复制到 WINDOWS 目录。 (3) 安装过程中提示 IIS 网站根目录的位置,指定为:D:\WEB 也既你存储站点的总目录 Zend Optimizer 安装完成后会自动重启 IIS 服务,重启完成后需要再次打开 IE 浏览器窗口, 查看 phpinfo.php 支持信息,观察是否包含了 Zend Optimizer 支持信息,如果没有,则说 明 Zend Optimizer 没有安装成功!

默认安装完毕以后不不可以直接支持 Zend 加密,需要做特别的设置 ..下面将讲解如何配置

Zend,并让 php 可以支持 返回桌面,在”我的电脑”上面右键,点击”属性” 然后出现一下窗口,然后点击右边栏的”高级系统设置” 然后再点击下面的”环境变量”

双击打开编辑 Path 变量窗口, 默认的是这样的%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMRO

OT%\System32\WindowsPowerShell\v1.0\

然后在后面添加

;D:\service\Zend\lib;D:\service\Zend\lib\Optimizer-3.3.0\php-5.2.x

还可以指定 PHP 和 MYSQL 把支持库的目录一并添加 方便使用 PHP –V 来调试 PHP 加载 情况 ;D:\service\MYSQL\bin;D:\service\PHP;D:\service\PHP\ext 添加这行即可(根据自己安装的文件路径自行填写)

一路确定

重启系统

想让变量值生效需要重启系统的。

注意:如果你的 Zend 版本和 php 版本和我所演示的不同的话,那么上面的路径可能会更改,请 时情况修改文件路径

现在 php,mysql,fastcgi,zend 配置工作已经完成,如果不出意外的话,那么现在您的 IIS 7.5 就可 以支持以上环境了 请使用 PHP 探针程序或者 PHPINFO.PHP 查看是否配置成功。如果 OK

能看到如下信息就行了

    您感兴趣的教程

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...

    详解 安装 docker mysql

    win10中文输入法仅在桌面显示怎么办?

    win10中文输入法仅在桌面显示怎么办?

    win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...

    win10 中文输入法

    一分钟掌握linux系统目录结构

    这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...

    结构 目录 系统 linux

    PHP程序员玩转Linux系列 Linux和Windows安装

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...

    玩转 程序员 安装 系列 PHP

    win10怎么安装杜比音效Doby V4.1 win10安装杜

    第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...

    win10杜比音效

    纯CSS实现iOS风格打开关闭选择框功能

    这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    css ios c

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的办法

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的

    Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...

    Win7 C盘 扩容

    百度推广竞品词的投放策略

    SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...

    百度推广 竞品词

    Visual Studio Code(vscode) git的使用教程

    这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    教程 Studio Visual Code git

    七牛云储存创始人分享七牛的创立故事与

    这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...

    七牛 Go语言

    Win10预览版Mobile 10547即将发布 9月19日上午

    微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...

    Win10 预览版

    HTML标签meta总结,HTML5 head meta 属性整理

    移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...

    移动端html5模拟长按事件的实现方法

    这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...

    移动端 html5 长按

    HTML常用meta大全(推荐)

    这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    cdr怎么把图片转换成位图? cdr图片转换为位图的教程

    cdr怎么把图片转换成位图? cdr图片转换为

    cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...

    cdr 图片 位图

    win10系统怎么录屏?win10系统自带录屏详细教程

    win10系统怎么录屏?win10系统自带录屏详细

    当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...

    win10 系统自带录屏 详细教程

    + 更多教程 +
    WIN服务器linux服务器FTP服务器DNS服务器其他