作者:polaris(php@yeah.net)
一、基本原理
netscape enterprise server以两种方式执行cgi程序.
指定一仅包含cgi程序的目录,所有在该目录下的程序不管是是什么后缀名都被执行 指定以某种后缀名结尾的程序均为cgi程序,放在服务器的任何位置都会被执行,php程序以该方式执行。
在mime.types中包含magnus-internal/cgi bat,cgi,exe,这告诉netscape enterprise server后缀名为bat,cgi,exe的程序其类型为magnus-internal/cgi,但默认情况下如果这些程序不放在指定的cgi程序目录下netscape
enterprise server将不会执行它们。可以通过netscape enterprise server manager|progams|cgi
file type,把activate cgi as a file type选为yes,然后save and apply后即可。这样以bat,cgi,exe结尾的程序放在任何地方都会被执行。
实际上手工在obj.conf文件中添加
service type=magnus-internal/cgi fn=send-cgi
即可。
在netscape enterprise server上执行php程序需要一plugin程序模块,在启动netscape enterprise server时
会启动该模块,当客户端请求php程序时该模块会告诉netscape enterprise server,这是个magnus-internal/cgi
类型的文件,因此该php程序就被执行。
为实现以上功能,在obj.conf文件中加入
init fn=load-modules funcs=redirect-cgi \
shlib=/opt/local/suitespot-3.0/plugins/redirect/redirect_cgi.so
nativethread=no
在启动netscape enterprise server时启动该模块。
和
objecttype fn=redirect-cgi cgi_path=/opt/local/www/cgi-bin/php
type=magnus-internal/php
通过先前启动的plugin模块告诉netscape enterprise server,类型为magnus-internal/php的文件,
需通过/opt/local/www/cgi-bin/php来解释执行。
在mime.types中加入一行
magnus-internal/php php3,phtml
后,netscape enterprise server就知道如何处理后缀名为php3,phtml的文件了。
二、具体实现步骤:
从http://www.webgenx.com/php/phpnes.php3下载原程序后,参考$netscape_home/nsapi/examples目录下的makefile文件,编译生成redirect_cgi.so文件。
把该文件放置在某一目录下,例如:/opt/local/suitespot-3.0/plugins/redirect/redirect_cgi.so。
修改mime.types文件加入magnus-internal/php php3,phtml。
修改obj.conf,在其它的init-directives后,加入
init fn=load-modules funcs=redirect-cgi \
shlib=/opt/local/suitespot-3.0/plugins/redirect/redirect_cgi.so
nativethread=no
修改obj.conf
在objecttype fn=type-by-extension和objecttype fn=force-type
type=text/plain间加入:
objecttype fn=redirect-cgi cgi_path=/opt/local/www/cgi-bin/php
type=magnus-internal/php。
修改obj.conf
在objecttype fn=force-type type=text/plain和
service method=(get|head) type=magnus-internal/imagemap
fn=imagemap间加入
service type=magnus-internal/cgi fn=send-cgi。
把编译后生成的php文件放在/opt/local/www/cgi-bin目录下。
完成后重新启动netscape enterprise server即可。
以上就介绍了在unix平台上的netscape enterprise server 3.x下配置php,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。