четверг, 5 августа 2010 г.

php-switcher. Быстрое переключение между версиями php.


Привет, читатель!


Давно хотел, но все не получалось перейти с php 5.2.x на php 5.3.x на девелоперской машине под виндой. Все дело в том, что часть старых проектов юзают код, который корректно работает только с php версий ниже 5.3.x.


Поэтому, было решено сделать удобное динамическое переключение между php 5.2.x и 5.3.x. Погуглив, нашел инфу, что подобный функционал присутствует в готовых сборках типа xampp. Такой вариант меня не устроил, ибо привык настраивать все компоненты самостоятельно. Значит, нужно что-то придумать!


Ну и, собстна, немного пошевелив мозгами, придумал! Идея следующая – пусть у нас рабочая версия php всегда будет доступна по некоторому определенному пути. Скажем, в C:\Program Files\PHP у нас сейчас лежит php 5.2. тогда кладем в C:\Program Files\PHP-inactive версию 5.3 и все, что нам нужно будет сделать для замены версий это:


1. Остановить апач

2. Поменять папки местами. php-inactive переименовать в php, а php в php-inactive

3. Запустить апач

4. Радоваться))) 



В принципе, можно делать эти нехитрые манипуляции руками, но лучше написать небольшой скрипт для командной строки.  


Код моего скрипта:


@echo off


echo Start switching...

echo.


httpd -k stop


cd %PROGRAMFILES%


ren PHP PHP-tmp

ren PHP-inactive PHP

ren PHP-tmp PHP-inactive


httpd -k start

echo The Apache2.2 started.

echo.


echo Current php version is:

php -v


pause



Вот и все!  После старта апача выводим в консоль текущую активную версию пхп. Для удобства))) Как видите, делов тут на пару минут буквально! И проблема решена.  

Внимание! Для корректной работы предлагаемого мной скрипта в переменной окружения path у вас должны быть прописаны пути к php.exe(папка php) и httpd.exe (папка bin апача). 

Комментариев нет:

Отправить комментарий