web-dev-qa-db-ja.com

Apache + PHP FastCGI経由

ApacheでFastCGIを介してPHPを実行しようとすると、いくつかの問題が発生します。FastCGIモジュールをロードしましたが、ページをロードしようとすると次のエラーが発生します。

The requested URL /fastcgi/php54.fcgi/index.php was not found on this server.

どこかで、実行するスクリプトがスペースなしで実行可能ファイルに追加されているようです。これは問題が発生する可能性が高い場所ですか?以下に、Apache構成のスニペットを含めました(うまくいけば、これで十分です)。

LoadModule fastcgi_module libexec/Apache2/mod_fastcgi.so

FastCgiIpcDir /var/run/fastcgi
AddHandler fastcgi-script .fcgi
FastCgiConfig -autoUpdate -singleThreshold 100 -killInterval 300
AddType application/x-httpd-php .php
ScriptAlias /fastcgi/ /Library/WebServer/FCGI-Executables/

<Directory "/Library/WebServer/FCGI-Executables">
    Options +ExecCGI
    SetHandler fastcgi-script
    Order allow,deny
    Allow from all
<VirtualHost *:80>
    ServerName www.somedomain.com
    ServerAdmin [email protected]
    DocumentRoot "/Web/www.somedomain.com"
    DirectoryIndex index.html index.php default.html
    CustomLog /var/log/Apache2/access_log combinedvhost
    ErrorLog /var/log/Apache2/error_log

    Action application/x-httpd-php /fastcgi/php54.fcgi

    <IfModule mod_ssl.c>
            SSLEngine Off
            SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
            SSLProtocol -ALL +SSLv3 +TLSv1
            SSLProxyEngine On
            SSLProxyProtocol -ALL +SSLv3 +TLSv1
    </IfModule>

    <Directory "/Web/www.somedomain.com">
            Options All -Indexes +ExecCGI +Includes +MultiViews
            AllowOverride All
            <IfModule mod_dav.c>
                    DAV Off
            </IfModule>
            <IfDefine !WEBSERVICE_ON>
                    Deny from all
                    ErrorDocument 403 /customerror/websitesoff403.html
            </IfDefine>
    </Directory>
</VirtualHost>

...そしてこれは実行可能ファイルです:

#!/bin/sh

PHP_FCGI_CHILDREN=1
PHP_FCGI_MAX_REQUESTS=5000

export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS

exec /opt/local/bin/php-cgi54
1
Wilco

私は間違った道を歩んでいたことがわかりました:

ScriptAlias /fastcgi/ /Library/WebServer/FCGI-Executables/

になるはずだった

ScriptAlias /fastcgi/ /Library/Server/Web/Data/FCGI-Executables/
1
Wilco