Есть сайты которые требуют PHP5.3 а есть такие, на которых интерпретатор выдает кучу ошибок и приходится использовать старый 5.2, я понимаю, если вы держите на серваке один сайт, тогда можно его проапгрейдить и решить проблему модификацией своего скрипта, но вот если у вас сотни сайтов чужих на сервере, то я думаю вам будет лень править чужие скрипты, проще дать возможность запускать разные сайты с разным PHP.
Оригинал инструкции тут http://mbi-solutions.blogspot.com/2011/07/running-php-53-and-php-52-on-same.html, но я исправил кое какие ошибки и дополнил инструкцию
./configure --prefix=/opt/php5.2 \
--with-config-file-path=/opt/php5.2 --with-mysqli \
--with-pdo-mysql --with-mysql --with-curl \
--with-gd --with-jpeg-dir --with-xsl --with-zlib \
--enable-cli --enable-fastcgi --enable-discard-path \
--enable-force-cgi-redirect --with-iconv --with-gettext \
--with-curl --with-bz2 --enable-mbstring=all --enable-zip
после успешной установки создаем файл
/usr/lib/cgi-bin/php52-cgi
и вставляем в него такое содержимое
#!/bin/sh
PHPRC="/opt/php5.2/"
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /opt/php5.2/bin/php-cgi
делаем его исполняемым
chmod +x /usr/lib/cgi-bin/php52-cgi
создаем файл /etc/apache2/php52.conf
и вставляем в него
<FilesMatch "\.php">
SetHandler application/x-httpd-php5
</FilesMatch>
ScriptAlias /php52-cgi /usr/lib/cgi-bin/php52-cgi
Action application/x-httpd-php5 /php52-cgi
AddHandler application/x-httpd-php5 .php
Теперь делаем финальные манипуляции с апачем
И перезагружаем апач
/etc/init.d/apache2 restart
Теперь можете добавлять в любой конфиг виртуалхоста строчку
Include php52.conf
но обратите внимание на директорию
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
если у вас такого не прописано в конфиге виртуалхоста, то пропишите, иначе будет ругаться на отсутствие доступа.
По аналогии можно подключить например php4 или php6 и адаптировать свою хостинг-панель для возможности выбора версии php.
Оригинал инструкции тут http://mbi-solutions.blogspot.com/2011/07/running-php-53-and-php-52-on-same.html, но я исправил кое какие ошибки и дополнил инструкцию
wget http://museum.php.net/php5/php-5.2.17.tar.gz
tar -zxvf php-5.2.17.tar.gz
apt-get install libxml2-dev libmysqlclient-dev libcurl4-gnutls-dev libpng12-dev libjpeg62-dev libxslt1-dev libbz2-dev
cd php-5.2.17
./configure --prefix=/opt/php5.2 \
--with-config-file-path=/opt/php5.2 --with-mysqli \
--with-pdo-mysql --with-mysql --with-curl \
--with-gd --with-jpeg-dir --with-xsl --with-zlib \
--enable-cli --enable-fastcgi --enable-discard-path \
--enable-force-cgi-redirect --with-iconv --with-gettext \
--with-curl --with-bz2 --enable-mbstring=all --enable-zip
make && make install
после успешной установки создаем файл
/usr/lib/cgi-bin/php52-cgi
и вставляем в него такое содержимое
#!/bin/sh
PHPRC="/opt/php5.2/"
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /opt/php5.2/bin/php-cgi
делаем его исполняемым
chmod +x /usr/lib/cgi-bin/php52-cgi
создаем файл /etc/apache2/php52.conf
и вставляем в него
<FilesMatch "\.php">
SetHandler application/x-httpd-php5
</FilesMatch>
ScriptAlias /php52-cgi /usr/lib/cgi-bin/php52-cgi
Action application/x-httpd-php5 /php52-cgi
AddHandler application/x-httpd-php5 .php
Теперь делаем финальные манипуляции с апачем
apt-get install libapache2-mod-fastcgi
a2enmod cgi fastcgi actionsИ перезагружаем апач
/etc/init.d/apache2 restart
Теперь можете добавлять в любой конфиг виртуалхоста строчку
Include php52.conf
но обратите внимание на директорию
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
если у вас такого не прописано в конфиге виртуалхоста, то пропишите, иначе будет ругаться на отсутствие доступа.
По аналогии можно подключить например php4 или php6 и адаптировать свою хостинг-панель для возможности выбора версии php.