通过使用三个支持的 API(即 CGI、NSAPI 和 FastCGI )之一,PHP:Hypertext Preprocessor (PHP) 可以与 Sun Java System Web Server 结合使用。PHP 是 PHP 组提供的页面脚本语言。PHP 组在其 Web 站点 (http://www.php.net) 中提供了有关配置 PHP 软件的说明,以便使用以下任一 API:
CGI API 是可以使用的最稳定的接口,但会受 CGI 中固有的性能限制的影响。
NSAPI 使用 Sun Java System Web Server 的本地 API 在 Web 服务器的内存中运行 PHP 软件。此配置将提供最佳的性能,但是如果使用了存在不安全线程的 PHP 模块,则将存在服务器崩溃的风险。
FastCGI 接口可以兼顾性能和稳定性。FastCGI 可以使 PHP 软件在处理请求后保持运行状态,同时在 Web 服务器的内存之外继续运行。如果使用了不稳定的 PHP 模块,将不会导致 Web 服务器崩溃。因此,请将 FastCGI 接口与 PHP 软件结合使用。
通过安装 FastCGI 附加软件(可以通过 http://www.sun.com/download/products.xml?id=42d693c3 获得),可以使 Web Server 支持 FastCGI 接口。
PHP 软件作为 FastCGI 进程运行时,会使用以下环境变量来控制 PHP 进程的生命周期:
PHP_FCGI_CHILDREN 用于确定将为响应请求而创建的 PHP 进程的数目。
PHP_FCGI_MAX_REQUESTS 用于确定 PHP 进程在自行终止并由新的 PHP 进程替换之前可以响应的请求数目。
不应使用 PHP_FCGI_CHILDREN,而应使用 FastCGI 附加软件配置参数 min-procs 来控制 PHP 进程的最小数目。