©
本文档使用
php中文网手册 发布
| 说明 | 在线程型MPM(worker)上用一个外部CGI守护进程执行CGI脚本 |
|---|---|
| 状态 | 基本(B) |
| 模块名 | cgid_module |
| 源文件 | mod_cgid.c |
| 兼容性 | 仅用于Unix系统上的线程型MPM |
除了优化和下面额外的ScriptSock指令,mod_cgid表现得与mod_cgi非常相似。参见mod_cgi以了解关于Apache和CGI的信息细节。
在特定的unix操作系统上,从一个多线程服务器fork一个进程是非常昂贵的操作,因为新进程会复制其父进程的所有线程。为了避免每个CGI调用都导致产生这样的开销,mod_cgid创建一个外部守护进程来负责fork子进程以运行CGI脚本。主服务器使用unix domain套接字与这个守护进程通信。
只要编译时选择了多线程型的MPM支持,这个模块就会默认代替mod_cgi 。在用户层面,此模块在配置和操作上与mod_cgi是一样的。唯一的例外是有一个额外的指令ScriptSock给出了用于与cgi守护进程通信的套接字文件名前缀。
| 说明 | 用来与CGI守护进程通信的套接字文件名前缀 |
|---|---|
| 语法 | ScriptSock file-path |
| 默认值 | ScriptSock logs/cgisock |
| 作用域 | server config, virtual host |
| 状态 | 基本(B) |
| 模块 | mod_cgid |
此指令设置用来与CGI守护进程通信的套接字文件名前缀(其后附加父进程PID组成完整的文件名)。这个套接字将会用启动Apache服务器的父进程用户权限(通常是root)打开。为了维护与CGI脚本通讯的安全性,不允许其他用户拥有写入套接字所在目录的权限是很重要的。
ScriptSock /var/run/cgid.sock