无法使 PHP 在 Apache 和 Windows 上作为 FastCGI 工作

无法使 PHP 在 Apache 和 Windows 上作为 FastCGI 工作

我尝试将 PHP 作为 FastCGI 运行,但没有成功。

我制作了一个 *.conf 文件,例如mod_fcgid 页面但没有包装脚本。

这是我的配置:

# php5 as FastCGI executable
FcgidMaxRequestsPerProcess 10000

# Uncomment the following line if cgi.fix_pathinfo is set to 1 in
# php.ini:
# FcgidFixPathinfo 1

<Location "D:/www">
    AddHandler fcgid-script .php
    Options +ExecCGI
    FcgidWrapper "C:/php/php-cgi.exe" .php

    # Customize the next two directives for your requirements.
    Order allow,deny
    Allow from all
</Location>

服务器正常启动,并且显示fcgid_module httpd -M,但是php文件以纯文本形式提供给服务器。

答案1

出于好奇,尝试改变你的线路:

AddHandler fcgid-script .php

AddHandler fcgid-script php

为了启动并运行,您可能还需要考虑使用 mod_fastcgi(注意,不是 Apache 的 mod_fcgid)。可在此处获取 dllhttp://www.fastcgi.com/dist/mod_fastcgi-2.4.6-AP22.dll 请注意,这是针对 Httpd 2.2 的。(2.4 的 dll 也可用。)

您的配置条目看起来可能会像这样:

LoadModule fcgid_module modules/mod_fcgid.so
<IfModule mod_fastcgi.c>
    Alias /fcgi-bin "C:/www/cgi-bin"
    FastCgiServer "C:/www/cgi-bin/php-cgi.exe" -initial-env PATH=C:/php -initial-env PHPRC=C:/php
    AddHandler php-fastcgi .php
    <Location /fcgi-bin/>
        Options ExecCGI
        SetHandler php-fastcgi
    </Location>
    AddType application/x-httpd-fastphp .php
    Action php-fastcgi /fcgi-bin/php-cgi.exe
</IfModule>

你也许可以用更少的钱来解决问题,但它在 Windows 上对我来说是有效的。

相关内容