缺省情况下,将PHP编译为CLI和CGI程序。这将构建可用于CGI处理或Web相关以外的PHP脚本的命令行解释器。当用户运行PHP模块支持的Web服务器时,通常出于性能原因,需要使用模块模式。但是,在CGI版本中,Apache用户可以用不同的用户ID执行不同的PHP页面。
注意
在使用CGI部署服务器时,可能存在一些已知陷阱。有关如何防御这些攻击的信息,请阅读CGI安全章节。
测试
如果将PHP编译为CGI程序,则可以输入make test来测试编译。测试编译始终是一个好主意。这样你就可以在平台的早期阶段检测PHP问题,而不是事后费力解决。
使用变量
某些服务器提供的环境变量在当前»CGI/1.1标准中未定义。仅定义了以下变量:AUTH_TYPE、CONTENT_LENGTH、CONTENT-TYPE、GATEWAY_INTERFACE、PATH_INFO、PATH_ TRANSLATED、QUERY_STRING、REMOTE_ADDR、REMOTE_HOST、REMOTE _IDENT、REMOTE_USER、REQUEST_METHOD、SCRIPT_NAME、SERVER_NAME和SERVER_PORT、SERVER_PROTOCOL和SERVER_ SOFTWARE。
如果在Ubuntu上从源代码构建,您可能需要为Oniguruma正则表达式库“apt install libonig dev”。否则,“配置”脚本将无法完成。