问题
A shared web host I'm using is offering several versions of PHP on the same server: 5.2, 5.3 and 5.4. They make it possible to switch between these versions by naming the file extensions .php54
and .php53
respectively, or via an .htaccess directive:
AddHandler php5.4-script .php
I have not been able to completely figure out how their Apache server is configured to support this though. Everything I found seemed to say that only one mod_php can be compiled into Apache at a time. Would this suggest that php5.4-script
is some sort of custom wrapper module? Or are there obscure ways in which different PHP modules can be compiled under different handler names?
回答1:
According to the resource I've found after researching on this topic, it is as you already thought a (Fast) CGI wrapper
which allows you to change the PHP version used via e.g. .htaccess .
How to achieve this is explained thoroughly here: http://linuxplayer.org/2011/05/intall-multiple-version-of-php-on-one-server .
In case the site is not reachable, here I'm going to list the steps:
- Install required dev packages
- Compile and install
- Create a fastcgi wrapper script
- Build and install e.g. php-5.3 with fpm enabled
- Configure php-fpm
- Start fpm
- Install and setup mod_fastcgi, mod_fcgid
- Update the Apache config file
- Restart Apache
来源:https://stackoverflow.com/questions/22325592/including-several-php-versions-in-apache-switchable-via-addhandler-directive