SharePoint Alfresco PHP MySQL
О сайте Контакты
четверг, 28 февраля 2013 г.

PHP 5.2 и PHP 5.3, одновременный запуск

Иногда возникает необ­ходимость установить на одной машине несколько минорных версий PHP 5, к примеру PHP 5.2 и PHP 5.3. Это может быть нужно тогда, когда вы разрабатываете несколько сайтов под разные версии и вам не хочется каждый раз переключаться между PHP, а хочется чтобы все работало одновременно.

Особенно это актуально для тестовых серверов, где надо запускать сразу много версий и много сайтов. Казалось бы, все просто. Однако, есть один нюанс.

PHP обеих версий подключается в Apache одинаково, с помощью директивы LoadModule php5_module. Если просто их прописать в конфиге, то один из PHP (точнее сервис Apache) не запустится. Объясню, почему это происходит. Если вы установили первой PHP 5.3, потом решили запустить еще PHP 5.2, то в системе будет значиться путь динамических библиотек от PHP 5.3, которые не подходят для PHP 5.2. Таким образом, при инициализации PHP 5.2 нужно указать вручную, какие библиотеки загружать:

PHPIniDir "D:/PHP5.2/php.ini"
LoadFile "D:/PHP5.2/php5ts.dll"
LoadFile "D:/PHP5.2/libmysql.dll"
LoadModule php5_module "D:/PHP5.2/php5apache2_2.dll"

Например, у меня две версии PHP установлены соответственно в папках D:/PHP5.2/ и D:/PHP5.3/. В них имеются одинаково названные файлы библиотек, поэтому мы и указываем, какие конкретно надо брать. Теперь инициализируются нужные файлы и обе версии PHP смогут работать одновременно и независимо друг от друга, что удобно.

Sergey Lysenko, четверг, 28 февраля 2013 г.

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