【问题标题】:How to make apache skip specific stdout lines when executing cgi or stop shared library from printing to stdout如何让apache在执行cgi时跳过特定的stdout行或停止共享库打印到stdout
【发布时间】:2016-05-06 18:03:07
【问题描述】:

我的 apache 服务器执行一个 cgi bin 并读取输出到 stdout 的行。问题是,由于 API 动态库加载,每次执行 cgi-bin 时都会出现一些行。 Apache 现在无法将这 3 行与 HTTP 请求区分开来以启动我的流式传输。 有一种方法可以让 apache 跳过阻止其工作的行或阻止共享库打印其负载?

【问题讨论】:

    标签: linux apache apache2 shared-libraries dynamic-linking


    【解决方案1】:

    如果您的网站每秒执行的请求数少于几个,您可以使用一个简单的 hack,将您的 CGI 包裹在一个 shell 脚本中,该脚本将过滤掉问题行:

    -- 将下面的代码放入新的 cgi 脚本中并确保 chmod +x -- 在 shell 中手动运行测试 --

    #! /bin/bash
    /path/to/old-cgi | egrep -v troublestring1\|troublestring2\|troublestring3 
    

    您必须确保故障字符串足够独特,不会合法地出现在您的实际输出中。如果找不到此类字符串,则可能需要更复杂的解析脚本来代替 egrep 过滤器。

    【讨论】:

    • 谢谢,它确实帮助了我,但并没有像我预期的那样解决我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    相关资源
    最近更新 更多