Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Руководство по установке PHP4 и PHP5 на одну машин


Автор: arial 25.7.2004, 11:48
Установка PHP4/PHP5 под Windows на сервер Apache 1.3.xx

Внимание!
Не рекомендуется использовать PHP с сервером Apache 2.00.xx.
Используйте Apache 1.3.x


Данная инструкция предполагает установку на диск C в директорию www. Если устанавливаете в другую директорию, не забудьте поменять пути, прописанные в инструкции так.

Скачиваем необходимые дистрибьютивы:
(Нам нужны бинарники для Win32)
http://httpd.apache.org/download.cgi (Качать Apache 1.3.xx! Не соблазняйтесь на Apache 2.00.xx, если не хотите иметь проблемм с эксплуатацией сервера.)
http://www.php.net/downloads.php


Создаем директорию c:\www
В ней размещаем два Apache:
c:\www\Apache\ApachePHP4
c:\www\Apache\ApachePHP5

Два Апача необходимо для того, чтобы на одном компьютере использовать одновременно как PHP4, так и PHP5. На один Apache поставить два модуля PHP проблемматично, поэтому мы ставим два Апача и не забиваем себе голову (благо, в большинстве своем, ресурсы компьютера позволяют сделать это). Дополнительно по этой теме читаем http://devlink.crimea.ua/articles/article.php?article_id=23.
Чтобы не настраивать в каждом конфиг файле обоих Apache виртуальные хосты, создаем директорию для размещения конфигурационных файлов, в которую мы положим файл настройки виртуальных хостов:
c:\www\Apache\ApacheConf
Файл настройки виртуальных хостов мы положим туда позже.

PHP размещаем в
c:\www\PHP\PHP4
c:\www\PHP\PHP5


В httpd.conf каждого Апача (c:\www\Apache\ApachePHPX\conf\httpd.conf) раскомментируем строки:
LoadModule vhost_alias_module modules/mod_vhost_alias.so
AddModule mod_vhost_alias.c

Это позволит нам использовать модуль mod_vhost_alias, позволяющий просто и удобно использовать и администрировать очень большое количество web-сайтов.
Там же добавляем строки:
Для ApachePHP4:
LoadModule php4_module /www/PHP/PHP4/sapi/php4apache.dll
AddModule mod_php4.c

Для ApachePHP5:
LoadModule php5_module c:/www/PHP/PHP5/php5apache.dll
AddModule mod_php5.c

Эти строки устанавливают PHP как модуль.
Примечание: Если вы пренебрегаете советами и используете Apache 2.00.xx, поменяйте phpXapache.dll на phpXapache2.dll

Устанавливаем Port 80 в httpd.conf Apache PHP4, и Port 85 httpd.conf Apache PHP 5.

В конец каждого файла httpd.conf дописываем строку:
Include c:/www/Apache/ApacheConf/vHosts.conf
Эта строка загружает файл с настройками виртуальных хостов.

vHosts.conf содержит в себе настройки виртуальных хостов:
Цитата
NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>

    ServerName somehost.tld
    ServerAdmin webmaster@somehost.tld

    <Directory />
        Options Indexes Includes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
   
    <IfModule mod_dir.c>
        DirectoryIndex index.php index.php3 index.php4 index.php5 index.phtml index.html index.htm
    </IfModule>
   
    UseCanonicalName Off

    VirtualDocumentRoot c:/www/Home/%-1/%-2
    VirtualScriptAlias  c:/www/Home/%-1/%-2/cgi-bin

    <IfModule mod_alias.c>
        ScriptAlias /cgi-bin/ "c:/www/Home/cgi-bin/"
    </IfModule>

    <Directory "c:/www/Home/cgi-bin/">
        AllowOverride None
        Options ExecCGI
    </Directory>

    <IfModule mod_mime.c>
        AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
        AddType application/x-httpd-php-source .phps
        AddHandler cgi-script .cgi .pl .bat .exe
    </IfModule>

    AddDefaultCharset windows-1251
</VirtualHost>

<VirtualHost _default_:*>

    ServerName somehost.tld
    ServerAdmin webmaster@somehost.tld

    <Directory />
        Options Indexes Includes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
   
    <IfModule mod_dir.c>
        DirectoryIndex index.php index.php3 index.php4 index.php5 index.phtml index.html index.htm
    </IfModule>

    UseCanonicalName On
    DocumentRoot c:/www/Home/htdocs

    <IfModule mod_alias.c>
        ScriptAlias /cgi-bin/ "c:/www/Home/cgi-bin/"
    </IfModule>

    <Directory "c:/www/Home/cgi-bin/">
        AllowOverride None
        Options ExecCGI
    </Directory>

    <IfModule mod_mime.c>
        AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
        AddType application/x-httpd-php-source .phps
    </IfModule>

    AddDefaultCharset windows-1251
</VirtualHost>

Теперь, при обращении
http://somehost.tld/index.php
Апач ищет путь
c:\www\Home\tld\somehost\index.php
и если находит, отдает соответствующий файл, если не находит, генерирует код ошибки 404.
Примечание: Если вы используете отличный от представленного здесь путь установки, не забудьте поменять его в Directory, DocumentRoot, VirtualDocumentRoot, VirtualScriptAlias, ScriptAlias.

В обе директории с Apache из соответствующих директорий с PHP кидаем php.ini и необходимые для работы либы, как то:
php4ts.dll (php5ts.dll)
libmysql.dll
iconv.dll (для PHP4)


Не забываем в php.ini для PHP5 раскомментировать строку extension=php_mysql.dll для поддержки MySQL.

Запускаем оба Апача как сервисы:
c:\www\Apache\ApachePHP4\apache.exe -i -n "Apache PHP4" -D PHP4
c:\www\Apache\ApachePHP5\apache.exe -i -n "Apache PHP5" -D PHP5

Теперь по 80-му порту нас слушает Апач с PHP4, а на 85 порту нас слушает Апач с PHP5.

В файле hosts, который размещается в Win9x в директории c:\Windows, а в WinXP в директории C:\WINDOWS\system32\drivers\etc прописываем таблицу хостов, типа:
Цитата
127.0.0.1    somehost1.tld
127.0.0.1    somehost2.tld
127.0.0.1    somehost3.tld
...
127.0.0.1    somehostN.tld

Создаем домашние директории:
c:\www\Home\tld\somehost1
c:\www\Home\tld\somehost2
c:\www\Home\tld\somehost3
...
c:\www\Home\tld\somehostN


Размещаем там свои сценарии, и используем:
http://somehostN.tld/index.php - PHP4
http://somehostN.tld:85/index.php - PHP5

Так же можно создать директорию:
c:\www\Home\htdocs
она не будет видна локально, но будет видна из вне по IP вашей машины.

Автор: arial 27.7.2004, 17:59
Инструкция по установке PHP4 на IIS.

Прежде всего устанавливаем PHP.
Кидаем в папку c:\WINDOWS\system32 файлы php4isapi.dll а так же файлы из папки your_path_to_php\php\dlls и php4ts.dll, php4ts.lib, а в папку c:\WINDOWS файл php.ini.

Устанавливаем IIS.
После установки жмем:
Пуск -> Настройка -> Панель управления -> Администрирование -> Internet Information Services

В открывшемся окне выбираем:
Internet Information Services -> [Имя компьютера] (Локальный компьютер) -> Веб узлы -> Нужный веб узел
Жмем на выбранном веб узле правую кнопку мыши и выбираем свойства.

Выбираем закладку "Фильтры ISAPI" и нажимаем Добавить.
В открывшемся окне в строке "Имя фильтра" пишем РНР, в строке "Исполняемый файл" выбираем C:\WINDOWS\system32\php4isapi.dll.

Выбираем закладку "Домашний каталог" и нажимаем кнопку Настройка.
В открывшемся окне на вкладке "Сопоставления" жмем кнопку "Добавить".
Открывается еще одно окно, в котором в строке "Исполняемый файл" мы пишем C:\WINDOWS\system32\php4isapi.dll, в строке "Расширение" пишем .php, ставим галку "Обработчик сценариев".

Примечание для IIS 6.x: для того чтобы ваше ISAPI расширение заработало его необходимо включить. Делается это так: IIS Manager -> Расширения Web служб -> Выбираем "Все неизвестные расширения ISAPI" и жмем кнопочку разрешить.

Выбираем закладку "Документы" и дополняем список документов по умолчанию, добавляя имя документа index.php.

Перезапускаем сервер.
Enjoy!
Установка PHP5 на IIS производится аналогично.

Автор: arial 22.8.2004, 13:39
Обсуждение данного топика http://forum.vingrad.ru/index.php?act=ST&f=6&t=28332.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)