跳转到内容

IIS 和 FastCGI/脚本语言/Perl/Catalyst

来自维基教科书,开放的书籍,用于开放的世界

这是 Catalyst 和 FastCGI 的快速概述。 假设您已经注册了解释器

在 Catalyst 5.7014 和 5.7015 上测试。

fcgiext.ini 中的 Stansa

[编辑 | 编辑源代码]

确保您拥有以下内容

[Catalyst]
ExePath=C:\strawberry\perl\bin\perl.exe
; The -e is important, this flag tells MyApp_fastcgi.pl to change the way it treats stderr
Arguments="D:\Inetpub\www\DMApp\script\MyApp_fastcgi.pl -e"

; these three lines tell it to always let Cat handle requests.
IgnoreDirectories=1
IgnoreFiles=1
IgnoreExistingFiles=1

; these three lines you can muck with for performance/resource optimizations
QueueLength=999
MaxInstances=20
InstanceMaxRequests=500

编辑 MyApp_fastcgi.pl

[编辑 | 编辑源代码]

由于 MyApp_fastcgi.pl 在上述中接受参数 (-e),因此现在不再需要此步骤

在编写本文时,某些早期版本(仍然存在错误)需要对 stderr 进行修改才能在 Windows 上运行。 您需要对 MyApp_fastcgi.pl 进行更改。

更改显示 keep_stderr 的行

 
DMApp->run(
    $listen,
    {   nproc   => $nproc,
        pidfile => $pidfile,
        manager => $manager,
        detach  => $detach,
  keep_stderr => $keep_stderr,
    }
);

更改为1:

 
DMApp->run(
    $listen,
    {   nproc   => $nproc,
        pidfile => $pidfile,
        manager => $manager,
        detach  => $detach,
        keep_stderr => 1,
    }
);
华夏公益教科书