在有人指出“为什么要使用 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 次内部重定向的限制。
追溯:
这是我的配置:
内容/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 实例正在使用。