Несколько версий PHP на Apache под Denwer (WAMP)

Несколько версий PHP на Apache под Denwer (WAMP)

Несколько версий PHP на Apache под Denwer (WAMP)WAMP сервер Denwer это просто отличный инструмент для тех, кому нужно развернуть тестовые сайты на Apache под Windows. Сам пакет весит всего около 8 Мб, установка проста до безумия, подключать сайты невероятно легко и многие другие плюсы. Однако, есть у него одно ограничение - можно использовать только одну версию PHP. Обойти это ограничение и использовать несколько версий PHP можно разными способами. Установкой двух Denwer с одновременным запуском только одного из них. Дополнительно поставить другой пакет и повесить Apache и MySQL на другие порты. Перенастроить Apache на использование модуля FastCGI. а затем отдельно прописывать сайты с другой версией PHP в файлах настроек. Или же установить еще один PHP и сделать простой скрипт перезапуска Denwer с нужной версией интерпретатора.

В рамках данной статьи я расскажу именно о последнем методе, так как его проще всего осуществить, вам не нужно ничего устанавливать или же разбираться с кучей ошибок во время настройки, а так же вы можете запускать одни и те же сайты под разными версиями PHP и смотреть отличия.

 

Настраиваем несколько версий PHP на Apache под Denwer (WAMP)

Итак, сам метод как настроить несколько версий PHP на Apache под Denwer (WAMP).

1. Скачиваете нужную версию PHP с сайта windows.php.net/download . Обязательно, берите версию потокобезопасную x86 (Thread Safe), у ссылки на исталлятор нет части "nts_".

2. Открываете каталог "Z:\usr\local" и создаете папку вида "php%версия%" с указанием версии, чтобы было проще разобраться. К примеру, "php5.4.44". И туда распаковываете архив с PHP.

3. Внутри каталога с дополнительной версией PHP ищите файл "php.ini-development" и создаете его копию с названием "php.ini".

4. Открываете скопированный файл и указываете параметр "extension_dir" (каталог, где хранятся расширения). Например, в случае версии 5.4.44 это выглядит так

extension_dir = "/usr/local/php5.4.44/ext"

5. Там же в php.ini подключаете нужные расширения, такие как функции подключения к mysql. Например, такая настройка (стандартна для Denwer)

;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
extension=php_xsl.dll

6. Находите параметр "sendmail_path" (путь до sandmail) и копируете в него путь из стандартного файла php.ini.

sendmail_path = \usr\sbin\sendmail -t -i

Остальные параметры выставляете как вам нужно (буферы, ошибки и прочее).

Затем сохраняете файл.

Совет: Если вы используете xdebug, то необходимо скачать соответствующую версию и положить ее в каталог ext. Настройки можно просто перенести с исходного файла настроек PHP, указав лишь корректные путь и название библиотеки в параметре "zend_extension".

7. С настройкой PHP закончили. Переходим к Apache. Откройте каталог "Z:\usr\local\apache\conf" и скопируйте файл "httpd.conf" два раза. Каждый из файлов назовите с соответствующей версией. К примеру, httpd_5_3.conf (исходный) и httpd_5_4.conf (с добавленной версией PHP).

8. Исходную версию не трогайте. Откройте версию с добавленным PHP. Продолжая пример, это будет файл httpd_5_4.conf. Найдите в нем следующую строку:

LoadModule php5_module "/usr/local/php5/php5apache2_2.dll"

Ее нужно заменить на строку с каталогом добавленной версии PHP. В моем примере это

LoadModule php5_module "/usr/local/php5.4.44/php5apache2_2.dll"

9. С настройкой Apache закончили, теперь нужно создать два простых bat-файла (обычные текстовые файлы с расширением ".bat") для перезапуска Denwer под нужной версией PHP.

9.1. Создаем bat-файл для исходной версии.

copy C:\WebServers\usr\local\apache\conf\httpd_5_3.conf C:\WebServers\usr\local\apache\conf\httpd.conf /y
start C:\WebServers\denwer\Restart.exe

Данный скрипт копирует настройки для Apache и перезапускает Denwer.

Важно отметить, что пути необходимо указывать реальные, а не через виртуальный диск "Z". Так же если у вас сервер находится по другому пути, то нужно указать соответствующие пути.

9.2 По аналогии, создаем bat-файл для добавленной версии PHP.

copy C:\WebServers\usr\local\apache\conf\httpd_5_4.conf C:\WebServers\usr\local\apache\conf\httpd.conf /y
start C:\WebServers\denwer\Restart.exe

10. Скопируйте bat-файлы туда, откуда вам будет проще всего их запускать.

Теперь, для смены версии достаточно после запуска Denwer, просто запускать нужные bat-файлы. Как видите, ничего сложного в настройке нет и версии PHP меняются элементарно. Кроме того, следуя инструкции, вы так же можете добавить и другие версии PHP. При этом все остальные настройки останутся прежними, сайты будут лежать в тех же каталогах и, при добавлении последних, чего-то дополнительно настраивать не нужно. При том, что вся настройка занимает минут 10-15.

Если вы знаете иные методы или у вас есть дельные советы, то, как говорится, милости просим в комментарии!

☕ Понравился обзор? Поделитесь с друзьями!

Комментарии / отзывы  

0 # Дсом 14.03.2018 17:08
Поправьте, там в пункте 6 в коде не
extension_dir = \usr\sbin\sendmail -t -i
а
sendmail_path = \usr\sbin\sendmail -t -i
должно быть
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Игорь (Администратор) 20.03.2018 17:04
Подправил.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Сергей 28.12.2019 19:06
В phpinfo все равно показывает прежнюю версию PHP
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Игорь (Администратор) 29.12.2019 14:16
Проверьте, что корректно выполнили каждое действие.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
0 # Игорь (Администратор) 29.12.2019 14:23
Так же учитывайте, что некоторые пути могут отличаться. Например, в батнике стандартные пути (вы могли установить wamp в другое место).
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору

Добавить комментарий / отзыв

Комментарий - это вежливое и наполненное смыслом сообщение (правила).



* Нажимая на кнопку "Отправить", Вы соглашаетесь с политикой конфиденциальности.
Присоединяйтесь
 

 

Программы (Freeware, OpenSource...)