rgfwwq 发表于 2015-6-29 10:31:00

IIS 配置 PHP 环境搭建:web 文件管理器

一、基础知识我们知道php配置有几种:1、CGI方式加载PHP环境,通常就是IIS里面配置解释器为 php.exe,早期比较常见,目前使用较少。
特点是:稳定,但效率太低。2、ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广。
特点是:多线程,效率较高,但不够稳定。3、FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了。
特点是:高效率,高稳定性,属于将来发展趋势。我试过其他的特别麻烦,PHP 5.3发布的Windows版已经不支持ISAPI模式了,所以我打算按微软推荐的FastCGI方式运行PHP。我用的就第三种,也是最好最快的,因为FastCGI大大加强了IIS处理PHP的能力,能迅速提高PHP站点的反应速度和生产力,并具有更高的稳定性和安全性.   下载地址:http://windows.php.net/download/里面有好多种,要那种呢?PHP现在推出5.3.2版本了,不过下载的时候有几个不同版本选择。那就是VC6 X86和VC9 X86。
首先我来解答:
VC6是什么?
    VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9是什么?
    VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。那我们如何选择下载哪个版本的PHP呢?
如果你是在windows下使用Apache+PHP的,请选择VC6版本;
如果你是在windows下使用IIS+PHP的,请选择VC9版本;那Non Thread Safe是什么?
    Non Thread Safe就是非线程安全;
Thread Safe 是什么?
    Non Thread Safe 是线程安全;

FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP (PHP 的二進位檔有兩種包裝方式:msi 、zip ,請下載 zip 套件)所以我们选择NO-Thread Safe 版本的PHP来使用。
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。二、安装 IIS 7.5 打开【服务器管理器】-【角色】-【添加角色】, 选择【Web服务器(IIS)】选择角色服务,注意一定勾选【CGI】,如果你的程序在IIS7下出错,记得选择服务的时候添加IIS6兼容模块,如果无问题,这个可以不用选择;测试是否成功安装IIS v7.0/v7.5,在浏览器输入:http://localhost/或者 http://127.0.0.1/

二、安装 PHPmsi 格式,下载安装,我安装默认路径了:


记得选中第三项:IIS FASTCGI


如果没有安装IIS FASTCGI的 下一步会提示没有安装的,下载安装就行了FastCGIfor IIS 67   http://www.iis.net/expand/fastcgi



安装好后,继续下一步,我按照默认了:


安装完毕后,就是配置了。这种配置有两种方法,我用cmd配置,一条命令就行了。(不推荐这么搞, 看看就可以了)转到刚才安装CGI的目录下:>cd C:\WINDOWS\system32\inetsrv>cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe"注意:path:"xxxx\php-cgi.exe” 是你安装php的目录> cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
> cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

==================================================zip 格式,php 安装。直接解压在 C:\php 目录即可。
PHP配置3. 配置PHP
①把下载好的ZIP文件解压到一个文件夹,比如C:\PHP,下文称之为PHP目录。
②把PHP目录下的php.ini-development改名为php.ini,并打开它。
③打开扩展目录配置extension_dir,即把 extension_dir = "ext"前的分去掉。
④打开扩展配置,我觉得php_mbstring是必须的,其它的可以自选。
⑤修改时区。date.timezone = "Asia/Shanghai"
⑥修改mbstring配置,这个根据自己的情况改,如果只是测试用的话,不改也没关系。
⑦修改好后可以运行CMD,进入PHP目录,执行php –version,如果配置不对的话,就会有警告。
修改F:\WebLAMP\php5\php.ini-development文件名为php.ini。配置php.ini 文件,搜索如下配置并修改相应的配置值:使之支持mysql等extension_dir = "php安装目录\ext"   
log_errors = Onerror_log = "C:/inetpub/temp/php-errors.log"fastcgi.impersonate = 1   
fastcgi.logging = 0   
cgi.fix_pathinfo=1   
cgi.force_redirect = 0session.save_path = "C:/inetpub/temp/phpsessions/"(可选)以上3个前的;去掉,并修改以上相应数值,如下图所示:
去除以下扩展前的引号:extension=php_curl.dll   
extension=php_gd2.dll   
extension=php_mbstring.dll   
extension=php_mysql.dll   
extension=php_pdo_mysql.dll   
extension=php_pdo_odbc.dll   
extension=php_xmlrpc.dll   
extension=php_xsl.dll   
extension=php_zip.dll输入http://127.0.0.1/或http://localhost/校验是否成功安装php:如果按上面的教程配置好后,运行php测试页面,出现了500错误。那就设置php.ini中的date.timezone项。我这里设置成上海时区:date.timezone = Asia/beijing
三、整合 IIS 与 PHPIIS 7 , 7.5 默认支持 FastCGI 方式运行 php 配置IIS和PHP的转接
①“控制面板”里点击“系统和安全”,在新的画面里点击右边下部的“管理工具”,在新窗口里点击“Internet信息服务(IIS)管理器”。
②在新打开的“Internet信息服务(IIS)管理器”中,双击“处理程序映射”,在新出现的画面的右上角点击“添加模块映射”。
③在添加模块映射画面,内容如下。请求路役:*.php;模块:FastCgiModule;可执行文件:选择PHP目录的php-cgi.exe,如C:\PHP\php-cgi.exe;名称:PHP(这个可以自己随便)。请求限制可加可不加,加的话,一般把谓词设为GET,HEAD,POST。
④确定,然后可以自己写一个PHP测试文件测试一下。代码<?PHP phpinfo(); ?>
第一步:配置IIS 7 ,打开 Internet信息服务器(IIS)管理器, 在 IIS 添加一个处理程序映射
第二步:添加 【模块映射】请求路径:*.php
模块:FastCgiModule
可执行文件:php安装目录\php-cgi.exe名称:PHP via FastCGI
注意:要把php目录下的pws-php5cgi.reg文件注册运行下
第三步:配置 FastCGI注意,这里如果是IIS7,则需要手动安装Administration Pack for IIS 7.0 ,如果是IIS7.5,则无需下载,IIS7.5已经集成此功能。



添加:PHP_FCGI_MAX_REQUESTS , value 数值10000;


第四步: 配置默认文档
添加默认文档index.php:
IIS 日志:
http://www.iyunv.com/fish-li/p/3139366.html
四、测试 IIS 与 PHPok!完毕!测试下:新建一个.php文件,里面<?phpphpinfo();?>保存!运行,出现下面页面,说明配置成功了!
这样的方法 IIS就不用怎么配置,他都会自动配置好了!微软提供的配置更加详细 !如果按上面的教程配置好后,运行php测试页面,出现了500错误。那就设置php.ini中的date.timezone项。我这里设置成上海时区:date.timezone = Asia/beijing设置完后就一切正常了!

windows 2008 R2:
    原来出现这个错误是因为PHP5.3是Visual C++ 2008 compiler (VC9)编译的,所以需要在服务器上安装Visual C++ 2008 runtime,至此,整个问题解决。




核实 php.ini 中的这几项    cgi.force_redirect=0    fastcgi.impersonate=1    fastcgi.logging=0
五、配置 KODExplorerweb explorer: http://www.freehao123.com/web-ftp/
什么是 KODExplorer:   http://kalcaddle.com/index.html
KodExplorer是一款开源的基于Web的在线文件管理、代码编辑器。它提供了类windows经典用户界面,一整套在线文件管理、文件预览、编辑、上传下载、在线解压缩、音乐播放功能。让你直接在浏览器端实现web开发、源码文件预览、网站部署。同时拥有与本地操作一样方便、快捷、安全的体验。 商业版授权请联系:kalcaddle#qq.com
下载KODExplorer: http://kalcaddle.com/download.html

1.下载,解压下载KODExplorer, 然后解压到 D:\ 根目录, 比如:D:\kodexplorer3.12。

2.在 IIS 中发布【开始】-【管理工具】-【Internet 信息服务(IIS)管理器】 - 【右键网站】 -【添加网站】

通过web 浏览器访问: http://localhost/



3.使用说明管理员:admin/admin普通用户:demo/demo游客用户:guest/guest[如何使用] 下载程序,解压上传到你的服务器路径下,data目录设置777权限。访问体验超便捷的服务吧!(为确保数据安全,最好配置服务器不允许列目录)[关于上传问题] 程序没有做任何限制,如果需要上传大文件,则修改php.ini:`upload_max_filesize = 1000M post_max_size = 1000M`[详情:http://955.cc/R2yT]注意不能大于2g,可能否则导致php无法正常运行(不支持post)。[关于解压缩问题] 程序不做任何限制,如若失败请设置php内存限制。memory_limit1000M[关于解压缩乱码] linux服务器压缩,下载到windows下中文会乱码。是由于系统导致的。所以尽量不要跨系统操作。[关于"系统错误"] 请配置php错误提示级别error_reporting; 配置php.ini或者允许error_reporting函数[关于兼容性] 建议使用chrome firefox ie9+体验更完整。ie8以下基本上不做兼容处理。chrome支持文件夹拖拽上传。[文件打开] office文件在线预览功能,服务器必须在公网(外部能访问该服务器);    内部或局域网需要使用请参考qq群共享“web office搭建”,然后配置kod程序config/config.php OFFICE_SERVER[安全提示] 为确保数据安全,请设置http服务器不允许列目录。[详情:http://955.cc/R2vw][忘记密码] 修改data/system/member.php 密码为明文的md5值 例如将admin密码重设为admin    则修改第一行:"name":"admin","password":"21232f297a57a5a743894a0e4a801fc3"【文件拖拽上传】除了ie8以下的大部分浏览器支持;建议使用chrome、360、猎豹、uc等【文件夹拖拽上传】除了ie10以下、firefox大部分浏览器都支持,建议使用chrome、360、猎豹、uc等
未完待续。。。



页: [1]
查看完整版本: IIS 配置 PHP 环境搭建:web 文件管理器