tcl fcgi

其他类别 2025-08-18

TCL的FASTCGI接口

版权1998 Tom Poindexter,保留所有权利。部分版权所有2021,2024 D. Bohdan。

FCGI.TCL以BSD风格的许可(如TCL)为单位分发。有关详细信息,请参见文件LICENSE.TERMS

这是从项目的原始读数中得出的更新文档。

什么是fcgi.tcl?

fcgi.tcl是FastCGI协议的TCL接口。它旨在与TCL 8和9合作。

fcgi.tcl有两种口味:

  • TCL源版本以100%纯TCL编写,可选地使用扩展TCL(TCLX)扩展名来用于某些类型的FastCGI连接。这就是您在此存储库中会发现的。

  • TCL C扩展版本,该版本使用FastCGI开发人员套件中的库代码。它可以在其他地方使用。

每种口味为应用程序提供相同的编程接口。有关两种口味的更多信息,请参见文件INSTALL

FASTCGI是一种允许CGI式程序作为服务器启动的协议,避免了CGI的CGI开销和程序加载的开销。 FastCGI服务器可以与您的Web服务器或不同的机器在同一台计算机上运行。有关Fastcgi的更多信息,请参见Wikipedia。

FastCGI开发人员的套件从1996年开始包含TCL 7.4的接口。不幸的是,该界面从未为TCL的较新版本更新。 fcgi.tcl的书写是为了跟上最新的TCL版本。

要求

  • TCL 8.0或更高版本,包括库本身的TCL 9。 Fcgi::helpers和测试的TCL 8.5或更高版本,包括TCL 9。
  • TCLX(可选)
  • 支持FastCGI协议的Web服务器:
    • apache 2 with mod_fcgi
    • 球童
    • H2O
    • 带有mod_fastcgi的LightTPD
    • ngenx带有ngx_http_fastcgi_module
    • 支持FastCGI的任何其他服务器

fcgi.tcl具有使用NGINX的自动测试。它已经用球童手动测试。

安装

sudo make install

确保将您安装的fcgi.tcl的目录添加到auto_path (例如,通过TCLLIBPATH )。

文档

有关fcgi.tcl和NOTES文件,请参见MAN页面。 MAN页面的HTML,文本和后记版本在doc/中。另请参见example/目录。

已知错误

FCGI.TCL仅在响应者的角色中进行了测试。其他FastCGI角色包括授权器和过滤器。他们尚未经过测试。

下载源码

通过命令行克隆项目:

git clone https://github.com/dbohdan/tcl-fcgi.git