Ruby相当于php_sapi_name

时间:2013-01-14 15:57:28

标签: php ruby

确定您是在CLI中运行(如PHP中的php_sapi_name函数)与处理HTTP请求的Ruby约定是什么?

我在想我可以测试请求是否被定义,或者其他一些推理方法,但是我必须遵循一个约定。

1 个答案:

答案 0 :(得分:1)

此处没有标准化方法,因为Ruby是一种脚本语言,可能会也可能不会嵌入到Web服务器进程中。它也可能作为一个断开连接的后台进程运行,尽管它不一定是面向Web的。

在HTTP环境中,您通常会将变量定义为ENV['SERVER_NAME'],而其他变量则来自CGI specification。这些不会出现在命令行环境中。

通常,最好测试您是在Rack或Rails中运行,还是使用任何特定的Web框架来与HTTP层进行交互。例如,defined?(Rails)将指示是否加载了Rails,但对于rake任务和rails console类型用法也是如此。