1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

Microsoft IIS + PHP4 or PHP5

本帖由 BxGz2006-03-05 发布。版面名称:主机讨论

  1. BxGz

    BxGz New Member

    注册:
    2006-03-05
    帖子:
    4
    赞:
    0
    Microsoft IIS + PHP4 or PHP5

    作者:[ D.L.S ]BxGz

    测试环境:
    Windows XP sp2 IIS v5.1
    PHP 5.0.5
    PHP 4.4.0

    将 PHP 压缩包释放到选择的目录中。
    例如:C:\PHP
    可以选择其它的路径但最好不要用中间有空格的路径(例如:C:\Program Files\PHP 就不太好),如果这样做有些 web 服务器会崩溃。



    1、将 PHP 目录加入到 Windows 路径 PATH 中去。

    在 Windows 2000,XP 和 2003 下:

    进入控制面板并打开“系统”图标
    (开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> 系统)
    选择“高级”标签页
    点击“环境变量”按钮
    在“系统变量”栏中
    找到 Path 这一项
    鼠标双击 Path 这一项
    在最后加入你的 PHP 目录,包括前面的“;”(例如:;C:\php)
    点击“确定”并重新启动电脑

    PHP 手册过去提倡把文件拷贝到 Windows 系统目录中去,这是因为该目录(C:\Windows,C:\WINNT,等等)默认就在系统路径中。
    但是把文件拷贝到 Windows 系统目录中这一方式早已不被提倡,还可能造成问题。



    2、设定 php.ini 路径:


    将下面注册表文件导入:

    inifilepath.reg
    ---------------------------------------------------------
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\PHP]
    "IniFilePath"="C:\\PHP"



    3、选择 php.ini 文件:


    有两个 ini 文件,php.ini-dist 和 php.ini-recommended。

    建议使用 php.ini-recommended ,因为在该文件中优化了性能和安全。
    将其重命名为 php.ini

    注: 如果在 Windows NT、2000、XP 或 2003 中使用 NTFS 分区,请确认运行 web 服务器的用户有权限读取 php.ini
    例如:Internet来宾帐户 (通常为 IUSR_MACHINENAME) 设定为“读取和运行、读取”。


    Windows XP 用户设置文件夹安全权限时需关闭简单文件共享。
    文件夹选项 ->查看->高级设置->使用简单文件共享,去除选定。



    4、编辑 php.ini 文件:


    a、设置 doc_root :
    doc_root = c:\inetpub\wwwroot //设置 doc_root 并指向 web 服务器的 document_root。


    b、安装扩展库:
    修改 extension_dir 设置以指向用户放置扩展库的目录或者说放置 php_*.dll 文件的位置。
    extension_dir = c:\php\extensions // for php4
    extension_dir = c:\php\ext // for php5


    c、
    cgi.force_redirect = 0


    d、设置文件上传临时目录:
    upload_tmp_dir = c:\php\uploadtemp //建立文件夹,目录权限必须是 PHP 进程所有者用户可写


    e、启用扩展库:
    要在 php.ini 中启用某扩展库,需要去掉该行 extension=php_*.dll 前的注释符号,将想要加载的扩展库前的分号(;)删除即可。
    建议:在全新安装时先不要在 php.ini 中加载任何扩展库,首先要保证 PHP 自身能够正常工作。
    例如:
    extension=php_mbstring.dll

    注:PHP 5 中不再内置支持 MySQL 和 Overload 模块
    例如:启用 PHP 5 对 MYSQL 模块支持
    去除 ;extension=php_mysql.dll 前的注释符号,
    并在下行加入:
    extension=php_mysqli.dll


    f、安装 PECL 扩展库:[仅 PHP 5 需要]
    和其它任何 PHP 扩展库的 DLL 一样,把 PECL 扩展库的 DLL 移动到 extension_dir 目录并将其包括入 php.ini 来安装。
    例如:extension=php_extname.dll


    g、
    browscap = c:\windows\system32\inetsrv\browscap.ini
    (browscap.ini 文件可以从 http://www.garykeith.com/browsers/downloads.asp 获得)


    h、
    session.save_path = c:\php\sessiondata //建立文件夹,目录权限必须是 PHP 进程所有者用户可写




    5、PHP 可以安装为 CGI 或者 ISAPI 模块

    服务器模块比 CGI 可执行程序提供了更好的性能和更多的功能。CLI 版本是为使用 PHP 命令行脚本而设计的。
    SAPI 模块在 4.1 中有较多的增强。但是,在老系统中可能会产生服务器错误,或导致服务器的其它模块停止工作,比如 ASP。


    ---> ISAPI 模块方式: (服务器模块比 CGI 可执行程序提供了更好的性能和更多的功能,稳定性稍差。)


    a、ISAPI 筛选器:
    如果不想用 PHP 进行 HTTP 认证,应该跳过这一步。
    在“ISAPI 筛选器”标签页中添加一个新的 ISAPI 筛选器。
    “筛选器名称”设为 PHP,“可执行文件”设为 php4isapi.dll/php5isapi.dll 的路径。
    c:\php\sapi\php4isapi.dll // for php4
    c:\php\php5isapi.dll // for php5

    b、应用程序配置:
    选择“主目录”,“虚拟目录”或“目录”标签页,然后进行:
    将执行权限改为“纯脚本”
    点“配置”按钮,选择“映射”标签页。
    点击“添加”按钮,
    将“可执行文件”指向
    c:\php\sapi\php4isapi.dll // for php4
    c:\php\php5isapi.dll // for php5
    在“扩展名”中填入 .php。
    选择“全部动作”(或者“限制为”留空),选中“脚本引擎”和“检查文件是否存在”。然后点击“确定”。

    注:在定义应用程序扩展名映射时,应选中“检查文件是否存在”。
    以极小的性能为代价,IIS(或者 PWS)会在调用 PHP 之前检查脚本文件是否存在并选出认证方法。
    这意味着 web 服务器会提供一个有道理的 404 形式错误信息而不是一条 CGI 错误说什么 PHP 没有输出任何数据。
    如果过些时候之后碰到 CPU 占用率达到 100%,则取消选中“缓存 ISAPI 应用程序”(“主目录”下点“配置”按钮”)。

    c、添加 WEB 服务扩展 [仅限于 IIS 6 (Windoows 2003 Server)]
    打开 IIS 管理器,进入 web 服务扩展,点击“添加一个新的 web 服务扩展”,“扩展名”中输入名称,例如 PHP,再点击“添加”按钮,点击“浏览”选择要么 ISAPI 文件(php4isapi.dll 或 php5isapi.dll)或者 CGI 文件(php.exe 或 php-cgi.exe)作为“文件路径”后点“确定”,然后选中“设置扩展状态为允许”并点“确定”。

    d、添加默认文档
    要使用 index.php 作为默认文档,在“文档”标签页中选择“添加”。输入 index.php 并点“确定”。
    用上下箭头按钮调整顺序。这和在 Apache 中设定 DirectoryIndex 相似。
    对于每个要关联为 PHP 脚本的后缀都要重复以上步骤。.php 是最常用的,此外为兼容一些遗留下来的老程序可能还需要加上 .php3。


    如果无法使用ISAPI模式运行PHP,那么可以尝试CGI模式。


    ---> CGI 方式:(如果使用 CGI 方式安装,则服务器对于某些可能的攻击是开放的。)


    CGI模式和ISAPI模式的设置方法大体相同
    无需设置“a、ISAPI 筛选器”
    还有一个步骤不同,“b、应用程序配置”
    将“可执行文件”指向改成
    c:\php\php.exe



    6、重启 IIS :


    右键点击 “Internet 信息服务器” 左栏中本地计算机-〉所有任务-〉重新启动IIS... -〉确定



    7、测试:


    新建文本文档在里面输入以下内容后保存:

    <?php
    phpinfo();
    ?>

    改名为 index.php,放置到你的默认网站根目录下,然后在IE地址栏输入:
    http://localhost/index.php
    如果能够看到 PHP 信息,则表明PHP安装成功。
     
  2. 老骥

    老骥 New Member

    注册:
    2006-02-20
    帖子:
    50
    赞:
    0
    辛苦了 支持下