Не так давно возникла необходимость запустить Apache с поддержкой php4, php5 и mysql одновременно.
Знаю, что есть несколько готовых решений, но ведь под свои нужды их придется подпиливать вручную, поэтому было решено собрать такой комплект вручную.
Распределения
Использовались следующие дистрибутивы программного обеспечения: Апач: 2.2.9 PHP4: 4.4.9 PHP5: 5.2.6 MySQL: 5.0.67 Все дистрибутивы скачивались в .zip архивах во избежание ненужных регистраций в системе.
Дистрибутив становится привязанным к конкретному диску и папке (то есть, если вы изначально все делаете в папке C:\WebServer, то на остальных компьютерах, куда вы его будете устанавливать, вам также нужно будет использовать именно эту папку).
Размещение файлов
Для начала распакуем все дистрибутивы- Апач: C:\WebServer\apache
- php4: C:\Вебсервер\php\php4
- php5: C:\WebServer\php\php5
- MySQL: C:\WebServer\mysql
Настройка Apache
PHP4 и PHP5 будут зависать на разных портах.Пусть это будет 80 (для php5) и 81 (для php4).
Для этого делаем 2 файла конфигурации для Apache и добавляем в них следующее.
изменения:
httpd-php4.conf: ServerRoot "C:/WebServer/apache"
Listen 81
LoadFile "c:\WebServer\php\php4\php4ts.dll"
DocumentRoot "C:\WebServer\www\htdocs
<Directory "C:\WebServer\www\htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.html index.php index.htm
И т.д. в зависимости от того, что именно нам нужно от Apache.
Файл php4ts.dll необходимо поместить в папку php\php4\.
Вы можете скачать это здесь: www.dll-files.ru/dll/p/Php4ts.dll.html
Далее настраиваем php5, файл httpd-php5.conf: ServerRoot "C:/WebServer/apache"
Listen 80
LoadModule php5_module "c:/WebServer/php/php5/php5apache2_2.dll"
AddType application/x-httpd-php .
php
PHPIniDir "c:/WebServer/php/php5"
DocumentRoot "C:\WebServer\www\htdocs
<Directory "C:\WebServer\www\htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.html index.php index.htm
Установите MySQL:
Никаких специальных настроек не требуется, если вы указываете порт и пароль в файле my.cnf. Поэтому пропустим это, а опишем интеграцию с php:
Настройка PHP4, PHP5
Файл php\php4\php.ini engine = On
extension=php_mysql
Другие расширения включаются по желанию.
Аналогично подключаем php_mysql в php\php5\php.ini
Запуск файлов
Создайте папку bin\ для файлов запуска.
создайте в нем файл apache-php4.cmd с содержимым: @echo OFF
echo Apache + PHP4 started
C:\WebServer\apache\bin\httpd.exe -f C:\WebServer\apache\conf\httpd-php4.conf &
и файл apache-php5.cmd: @echo OFF
echo Apache + PHP4 started
C:\WebServer\apache\bin\httpd.exe -f C:\WebServer\apache\conf\httpd-php4.conf &
Теперь с этими двумя файлами мы можем запускать Apache с разными версиями PHP. MySQL запускается файлом mysql/bin/mysqld-nt.exe.
Если статья покажется кому-то полезной, в следующей я расскажу, как сделать возможным запуск их как сервисов.
Теги: #php4 PHP5 Apache MySQL #Chulan
-
Руководство По Безопасности Mongodb
19 Oct, 24 -
Правильная Сериализация Html В .Net
19 Oct, 24 -
Репозиторий Git
19 Oct, 24