PHP fast-cgi 重定向循环 apache2

PHP fast-cgi 重定向循环 apache2

在有人指出“为什么要使用 X 版本的 PHP”之前,这里有一个简短的概述;TL:DR 它是暂时的,我必须这样做。

我正在进行“迁移”的公司需要 5.3,并且有两个站点运行在旧的内部构建的 CMS 上。该公司不久前拆分,他们那边没有新的 CMS。这些站点仍然需要维护,直到它们可以从 CMS 中移除。同时,他们需要 5.6 来运行他们的新站点。是的,我本来只需设置一个虚拟机并从 wheezy repo 安装 5.3,但在这种情况下我无法这样做。无论如何,我正在运行 Debian Jessie,在编译和安装 5.3.10 后,我尝试让 apache 通过 fast-cgi 使用它。但是我得到了 500 和以下错误:

由于可能的配置错误,请求超出了 10 次内部重定向的限制。

追溯:

http://pastebin.com/SGu0a8Ua

这是我的配置:

内容/usr/lib/cgi-bin/php53-cgi

#!/bin/sh
PHPRC="/etc/php53/apache2/"
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /usr/bin/php53/php-cgi

内容/etc/apache2/php53.conf

SetHandler application/x-httpd-php5
ScriptAlias /php53-cgi /usr/lib/cgi-bin/php53-cgi
Action application/x-httpd-php5 /php53-cgi
AddHandler application/x-httpd-php5 .php

最后在站点的虚拟主机中:

<VirtualHost *:8080>
        DocumentRoot /var/www/html
        Include php53.conf
        <Directory "/var/www/html">
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
        </Directory>
</VirtualHost>

任何帮助都将不胜感激,谢谢。

答案1

要解决这个问题你只需简单设置:

cgi.fix_pathinfo=1

在 php.ini 中您的 CGI 实例正在使用。

相关内容