|
PHP5中文手册
Microsoft Windows 下的 Sun,iPlanet 和 Netscape 服务器本节包含针对在 Windows 下 Sun Java System web 服务器,Sun ONE web 服务器,iPlanet 和 Netscape 服务器的 PHP 安装说明与提示。 自 PHP 4.3.3 起可以通过 NSAPI 模块使用 PHP 脚本来产生定制目录列表于错误页面。也可以使用为兼容 Apache 的附加函数。目前使用的 web 服务器的支持请阅读有关子请求的说明。 Sun,iPlanet 和 Netscape 服务器的 CGI 方式安装要将 PHP 安装为 CGI 处理器,按以下步骤进行:
更多将 PHP 设置为 CGI 可执行程序的内容见:» http://benoit.noss.free.fr/php/install-php.html。 Sun,iPlanet 和 Netscape 服务器的 NSAPI 方式要将 PHP 以 NSAPI 方式安装,按以下步骤进行:
CGI 环境以及推荐在 php.ini 中进行的修改在写 PHP 脚本时很重要一点是 Sun JSWS/Sun ONE WS/iPlanet/Netscape 是多线程 web 服务器。因此所有的请求都运行于同一个进程空间(即 web 服务器自己的空间)而此空间只有一个环境。如果想取得 CGI 变量例如 PATH_INFO,HTTP_HOST 等时不能用老的 PHP 3.x 的方式 getenv() 或者类似手段($_ENV)进行。只能取得运行的 web 服务器的环境变量而没有任何有效的 CGI 变量!
PHP 4.x 中取得 CGI 变量的正确方式是使用超全局变量 $_SERVER。如果有一些老的脚本用了 $HTTP_HOST 等,那应该在 php.ini 中打开 register_globals 选项并改变变量顺序(重要提示:去掉 "E",因为这里不需要环境变量): variables_order = "GPCS" register_globals = On 错误页面的特殊使用或定制目录列表(PHP >= 4.3.3)可以用 PHP 来为 "404 Not Found" 或类似的错误提示生成错误页面。对每个想要覆盖的错误页面在 obj.conf 中的对象里加入下面这行: Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...] 还可以生成自己定制的目录列表。只要创建一个显示目录列表的 PHP 脚本并用下面一行在 obj.conf 中替换掉相应 type="magnus-internal/directory" 默认的 Service 设置: Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...] 有关 nsapi_virtual() 和子请求(PHP >= 4.3.3)的说明NSAPI 模块现在支持 nsapi_virtual() 函数(别名:virtual())来进行子请求并将结果插入到 web 页面里。问题是,此函数用到了一些 NSAPI 库中没有文档说明的特性。 在 Unix 下这不是问题,因为模块会自动寻找所需的函数并使用。如果找不到,nsapi_virtual() 被禁用。 在 Windows 下 DLL 处理的局限性需要使用最新的 ns-httpdXX.dll 文件中的自动检测功能。这已在版本 6.1 及以下的服务器中测试过。如果用了更高版本的 Sun 服务器,检测会失败并禁用 nsapi_virtual()。 在这种情况下,试试下面的方法。在 magnus.conf/obj.conf 中的 php4_init 里加入下面的参数: Init fn=php4_init ... server_lib="ns-httpdXX.dll" 可以用 phpinfo() 函数来检查状态。
|