gpt4 book ai didi

IIS下的Python FastCGI-stdout写入问题

转载 作者:太空宇宙 更新时间:2023-11-04 01:44:33 27 4
gpt4 key购买 nike

我的 Python FastCGI 代码中有一个非常特殊的问题 - sys.stdout 的文件描述符为“-1”,所以我无法写入它。我在我的程序的第一行检查它,所以我知道它不是我的任何代码更改它。

我试过 sys.stdout = os.fdopen(1, 'w'),但是那里写的任何东西都不会到达我的浏览器。

同样的应用程序在 Apache 下运行起来毫无困难。

我正在使用 Microsoft 为 IIS 提供的 FastCGI 扩展,记录如下:http://learn.iis.net/page.aspx/248/configuring-fastcgi-extension-for-iis60/

我在 fcgiext.ini 中使用这些设置:

    ExePath=C:\Python23\python.exe    Arguments=-u C:\app\app_wsgi.py    FlushNamedPipe=1    RequestTimeout=45    IdleTimeout=120    ActivityTimeout=30

谁能告诉我哪里出了问题,或者告诉我应该去哪里寻找答案?

非常感谢所有建议...

最佳答案

如果这是一个愚蠢的问题,请原谅我,但我在您的配置文件中注意到了这一行:

Arguments=-u C:\app\app_wsgi.py

您运行的是 WSGI 应用程序还是 FastCGI 应用程序? 有区别。在 WSGI 中,写入 stdout 不是一个好主意。您的程序应该有一个应用程序对象,可以使用环境字典和 start_response 函数调用(有关更多信息,请参见 PEP 333 )。无论如何,您的应用程序的返回方法将是返回一个包含响应主体的可迭代对象,而不是写入标准输出。

无论哪种方式,您还应该考虑使用 isapi-wsgi .我自己从未使用过它,但我听说过它的优点。

关于IIS下的Python FastCGI-stdout写入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/356138/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com