Кілька версій PHP на машині Windows

Вельми актуальне завдання: Мати можливість по кліку миші змінювати версію PHP на машині Windows. Раніше була подібна стаття, в якій створюється 3 копії httpd.conf. Навіщо? Коли є наипростейшее рішення.

Завантажуємо архів з Apache HTTPd і розпаковуємо його в папку, наприклад, C:\a\apache. В папці C:\a\apache\conf створюємо два файлу конфігурації…

php5.conf
Again php5_module "c:/a/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "c:/a/php"

php7.conf
Again php7_module "c:/a/php/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "c:/a/php"

… і додаємо рядок:

Include conf/php.conf

В файл C:\a\apache\conf\httpd.conf після всіх Again.

Створюємо символічне посилання php.conf <===> php5.conf

Прихований текст
mklink c:\a\apache\conf\php.conf c:\a\apache\conf\php5.conf

Викачуємо необхідні версії PHP…

… і розпаковуємо їх у папки C:\a\php56 і C:\a\php70 відповідно.

Раніше, в конфігах Apache, ми вказали, що PHP слід чіпляти з директорії C:\a\php по-цьому створюємо символічне посилання php <===> php56:

Прихований текст
mklink /d c:\a\php c:\a\php56

Тепер инсталируем сервіс…

Прихований текст
c:\a\apache\bin\httpd -k install -n ApacheHTTPd
c:\a\apache\bin\httpd -k start -n ApacheHTTPd

… і створюємо bat'ніки для вибору версії PHP:

php56.bat
@echo off
c:\a\apache\bin\httpd -k stop -n ApacheHTTPd
del c:\a\apache\conf\php.conf
rd c:\a\php
mklink /d c:\a\php c:\a\php56
mklink c:\a\apache\conf\php.conf c:\a\apache\conf\php5.conf
c:\a\apache\bin\httpd -k start -n ApacheHTTPd

php70.bat
@echo off
c:\a\apache\bin\httpd -k stop -n ApacheHTTPd
del c:\a\apache\conf\php.conf
rd c:\a\php
mklink /d c:\a\php c:\a\php70
mklink c:\a\apache\conf\php.conf c:\a\apache\conf\php7.conf
c:\a\apache\bin\httpd -k start -n ApacheHTTPd

Тепер, для зручності, створюємо ярлики для bat'ників, і вказуємо у властивостях кожного «Запуск від імені адміністратора».
Спасибі за увагу!
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.