CentOS6中PHP4和PHP5并存

今天要把一个只支持php4的旧文件管理系统移到新的centos6机器。centos6中自带的是php5,上网搜索了一下,php4和php5并存的方法其实也挺简单,思路是php4使用cgi模式以与php5分开。网上有些是用fastcgi模块装入的,速度应该会更快。为简单起见,就用cgi了。具体如下:

从php.net下载php4的源码,编译安装。configure时注意指定安装目录。我的编译参数比较简单,因为只需要满足我们的那个旧文件管理系统就行了。enable-cgi是必需的:

./configure --prefix=/usr/local/php4 --enable-cgi --with-mysql=/usr

make

make install

这时php4被安装到/usr/local/php4中。默认php.ini是从PREFIX/lib里,可以把/etc/php.ini拷贝一份到/usr/local/php4/lib中。因为版本不一样,有一些新参数可能引起运行时出错,按提示修改一下就行了。

把/usr/local/php4/bin中的php拷贝到/var/www/cgi-bin/下,改名php4。在/etc/httpd/conf.d下新建一个文件php4.conf,内容为:

AddHandler php4-script .php4
Action php4-script /cgi-bin/php4

此时重启httpd就会使用php4来运行.php4后缀的文件。

要对一个目录下所有php文件使用php4,还要(以下例子目录名为folder):

在/etc/httpd/conf/httpd.conf加入:

<Directory /var/www/html/folder>
  AllowOverride All
</Directory>

在/var/www/html/folder下新建.htaccess,内容为:

AddHandler php4-script .php
Action php4-script /cgi-bin/php4

重启httpd搞定。

原文地址:https://www.cnblogs.com/amonw/p/2802135.html