Chinaunix首页 | 论坛 | 博客
  • 博客访问: 136269
  • 博文数量: 62
  • 博客积分: 2501
  • 博客等级: 少校
  • 技术积分: 640
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-25 12:20
文章分类

全部博文(62)

文章存档

2013年(2)

2011年(1)

2007年(59)

我的朋友
最近访客

分类: 系统运维

2007-06-16 19:25:11

  • CGI 用户必须在 php.ini 中将 指令设为 0。其重要细节请阅读 。此外,CGI 用户可能需要设定 指令。在使用这些指令时,确保它们没有在 php.ini 中被注释掉。

  • PHP 4 的 CGI 文件名是 php.exe 而在 PHP 5 中是 php-cgi.exe。在 PHP 5 中,php.exe 是 CLI 版本,不是 CGI。

  • 修改 Windows 的 PATH 环境变量以把 PHP 目录包括进去。这样 PHP 的 DLL 文件,可执行文件和 php.ini 就都可以保留在 PHP 目录中而不用把 Windows 系统目录搞乱了。更多细节见 FAQ 中的。

  • IIS 专用用户(通常为 IUSR_MACHINENAME)需要能够读取各个文件和目录的权限,例如 php.ini,docroot 和 session 的 tmp 目录。

  • 确保在 php.ini 中正确设定了 和 指令的值。这些指令依赖于 PHP 被安装的系统。在 PHP 4 中,extension_dir 是 extensions 而在 PHP 5 中是 ext。因此在 PHP 5 中 extensions_dir 的一个取值例子是 "c:\php\ext",IIS 的 doc_root 的取值例子是 "c:\Inetpub\wwwroot"

  • PHP 扩展库的 DLL 文件,如 php_mysql.dllphp_curl.dll,存放于 PHP 下载的 ZIP 包中(自动安装包里没有)。在 PHP 5 中,很多扩展库都是 PECL 的一部分,可以从“Collection of PECL modules”包中下载,例如 php_zip.dllphp_ssh2.dll。。

  • 在定义应用程序扩展名映射时,应选中“检查文件是否存在”。以极小的性能为代价,IIS(或者 PWS)会在调用 PHP 之前检查脚本文件是否存在并选出认证方法。这意味着 web 服务器会提供一个有道理的 404 形式错误信息而不是一条 CGI 错误说什么 PHP 没有输出任何数据。

PHP 可以安装为 CGI 或者 ISAPI 模块。不管哪种,都需要启动 Microsoft 管理控制台(也可能是“Internet 信息服务”,在 Windows NT 4.0 Option Pack 中或者在 Windows 2000/XP 下的控制面板=>管理工具)。然后右键点击 web 服务器节点(通常为“默认网站”),并选择“属性”。

如果想用 CGI 方式,按如下方法进行:

  • 选择“主目录”,“虚拟目录”或“目录”标签页,然后进行:

  • 将执行权限改为“纯脚本”

  • 点“配置”按钮,选择“映射”标签页。点击“添加”按钮,将“可执行文件”指向适当的 CGI 文件名。例如 PHP 5 的值可能是:C:\php\php-cgi.exe。在“扩展名”中填入 .php。选择“全部动作”(或者“限制为”留空),选中“脚本引擎”。然后点击“确定”。

  • 设定合适的目录安全性(在 Internet 信息服务中完成)。如果 NT 服务器使用 NTFS 文件系统,给 I_USR_ 用户加上 php.exe/php-cgi.exe 文件所在目录的可执行权限(通过资源管理器完成)。

要用 ISAPI 模块方式,按如下方法进行:

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

  • 选择“主目录”,“虚拟目录”或“目录”标签页,然后进行:

  • 将执行权限改为“纯脚本”

  • 点“配置”按钮,选择“映射”标签页。点击“添加”按钮,将“可执行文件”指向适当的 ISAPI DLL。例如 PHP 5 的值可能是:C:\php\php5isapi.dll。在“扩展名”中填入 .php。选择“全部动作”(或者“限制为”留空),选中“脚本引擎”。然后点击“确定”。

  • 完全停止 IIS(NET STOP iisadmin)

  • 重新启动 IIS(NET START w3svc)

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

要使用 index.php 作为默认文档,在“文档”标签页中选择“添加”。输入 index.php 并点“确定”。用上下箭头按钮调整顺序。这和在 Apache 中设定 DirectoryIndex 相似。

对于每个要关联为 PHP 脚本的后缀都要重复以上步骤。.php 是最常用的,此外为兼容一些遗留下来的老程序可能还需要加上 .php3

如果过些时候之后碰到 CPU 占用率达到 100%,则取消选中“缓存 ISAPI 应用程序”(“主目录”下点“配置”按钮”)。

怎样将 PHP 目录加入到 Windows 路径 PATH 中去?

在 Windows NT,2000,XP 和 2003 下:

  • 进入控制面板并打开“系统”图标(开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> 系统)

  • 选择“高级”标签页

  • 点击“环境变量”按钮

  • 在“系统变量”栏中

  • 找到 Path 这一项(可能需要向下滚动才能找到)

  • 鼠标双击 Path 这一项

  • 在最后加入你的 PHP 目录,包括前面的“;”(例如:;C:\php此处好像是ext的目录

  • 点击“确定”并重新启动电脑

注意: 记住在上述修改之后重新启动,以确保对 PATH 的改变生效。

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

怎样使 php.ini 文件在 Windows 下被 PHP 所用?

有几种方法。如果使用 Apache,阅读专门的安装指示(,),否则就必须设定 PHPRC 环境变量:

在 Windows NT,2000,XP 和 2003 种:

  • 进入控制面板并打开“系统”图标(开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> 系统)

  • 选择“高级”标签页

  • 点击“环境变量”按钮

  • 在“系统变量”栏中

  • 点击“新建”按钮并在“变量名”中输入“PHPRC”,在“变量值”中输入 php.ini 文件所在的目录(例如:C:\php

  • 点击“确定”并重新启动电脑

阅读(916) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~