• Установка на старых версиях ОС Windows. Установка Apache, PHP, MySQL и phpMyAdmin на Windows XP Руководство по ручной установке

    В этой статье приводится пошаговое руководство по установке PHP для совместной работы с HTTP-сервером Apache на Windows . Эта процедура была протестирована как на Windows XP и Vista . Предполагается, что вы уже завершили установку Apache .

    Этапы настройки PHP 5

    1. Загрузите PHP 5

    Прежде чем приступать к работе, скачайте копию PHP 5 со страницы загрузки . Загрузите защищенный пакет VC6 из раздела «Windows Binaries » — то есть не скачивайте установщик. Например, выберите пакет с пометкой «PHP 5.2.5 zip package », если на данный момент текущая версия — 5.2.5 .

    Примечание : обратите внимание, что я не тестировал описанную ниже процедуру с версиями PHP 5.3 , только с 5.2.5 , которая была последней версией на момент написания статьи. Теоретически, те же действия должны выполняться и для установки PHP 7 .

    2. Установите PHP 5

    Создайте на жестком диске папку для PHP . Я предлагаю c:php , хотя вы можете использовать другое название и расположение папки. Лично я предпочитаю не использовать имена с пробелами.

    Извлеките все файлы из загруженного архива в эту папку. Для этого просто дважды кликните по zip-файлу . А затем перетащите все файлы в папку c:php .

    3. Тем, кто обновляет пакет: Удалите старый файл PHP.INI из каталога Windows

    Если вы переходите на PHP 5 с более старой версии, перейдите в каталог Windows , (обычно это c:windows ), и удалите все файлы php.ini , которые вы ранее там размещали.

    4. Настройка PHP

    Перейдите в папку c:php и создайте копию файла php.ini-recommended . Назовите новый файл php.ini . Теперь у вас должен быть файл c:phpphp.in с содержимым, идентичным файлу c:phpphp.ini-recommended .

    Примечание . Если вы используете Apache 1 нужно либо перенести файл php.ini в каталог Windows (c:windows ), либо настроить переменную среды PATH , чтобы включить в нее c:php . Если вы не знаете, как это сделать, просто переместите файл php.ini в папку c:windows . Не нужно этого делать, если используете Apache 2 , так как позже мы укажем в файле конфигурации Apache 2 директиву с расположением файла php.ini .

    Для установки PHP на Windows 7 c помощью текстового редактора (например, такого как «Блокнот», который можно найти в разделе «Служебные» меню «Пуск» )? откройте файл php.ini . Возможно, придется внести следующие изменения в файл:

    а) Включение коротких открывающих тегов

    Найдите следующую строку:

    short_open_tag = Off

    Если для short_open_tag задано значение off , теги типа «

    Поскольку многие сторонние PHP-скрипты используют формат «

    short_open_tag = On

    b) Волшебные кавычки

    При установке Apache PHP по умолчанию входящие данные автоматически не экранируются с помощью слэша. Если вы хотите, чтобы входные данные имели префикс обратной косой черты («»), например, чтобы воспроизводить настройки хостинга, найдите следующую строку:

    magic_quotes_gpc = Off

    и замените ее на:

    magic_quotes_gpc = On

    Не рекомендуется делать это, если на хостинге не задан данный параметр. Даже при установленном значении Off вы все равно можете использовать в PHP функцию addslashes() , чтобы добавлять слэши для конкретных частей данных,.

    c) Использование глобальных переменных

    Ряд старых скриптов при выполнении исходят из того, что все данные, отправляемые через форму, будут автоматически иметь переменную PHP с тем же именем. Например, если в форме есть поле для ввода с именем «something «, старые скрипты PHP исходят из того, что PHP-процессор автоматически создаст переменную с именем $something , которая содержит значение, заданное через это поле.

    Если вы используете такие скрипты, нужно найти следующую строку:

    register_globals = Off

    и изменить ее на:

    register_globals = On

    Предупреждение : при установке PHP на Windows не делайте этого, если у вас нет сторонних скриптов, для работы которых это необходимо. При написании новых скриптов лучше всегда исходить из того, что для элемента register_globals установлено значение «Off «.

    d) Отображение ошибок

    На «живом » сайте ошибки в скрипте обычно регистрируются без отображения в файле ошибок PHP . Но на локальной машине, пока вы тестируете и отлаживаете PHP-скрипт более удобно отправлять сообщения об ошибках при их выявлении прямо в окно браузера. Так вы не пропустите ошибки, даже если забудете проверить файл журнала ошибок.

    Чтобы PHP отображал сообщения об ошибках прямо в окне браузера, найдите следующую строку:

    display_errors = Off

    и измените ее на:

    display_errors = On

    Для этого параметра на работающем сайте всегда должно быть установлено значение Off .

    e) Путь сессии

    Если скрипт использует сессии, найдите следующую строку:

    ;session.save_path = "/tmp"

    session.save_path задает папку, в которой PHP сохраняет файлы сессии. Поскольку папка /tmp в Windows не существует, то нужно установить другую папку. Один из способов — создать папку с именем c:tmp (как ранее мы создали c:php ) и указать для этого параметра данную папку. Если сделаете это, измените данную строку следующим образом:

    session.save_path = "c:tmp"

    Обратите внимание, что в дополнение к изменению пути я также удалил из строки префикс точки с запятой («;») .

    Также можно использовать текущую папку TEMP на своем компьютере. Или создайте папку tmp в каталоге PHP , например c:phptmp и соответствующим образом настройте файл конфигурации. Возможных вариантов может быть много. Если вы не можете решить, какой из них выбрать, просто создайте c:php и сделайте, как я сказал выше.

    f) Сервер SMTP

    При установке PHP 5 5 если скрипт использует функцию mail() , и нужно, чтобы функция успешно отправляла почту на локальном компьютере, найдите следующий раздел:

    ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. ;sendmail_from = [email protected]

    Измените его, указав адрес вашего SMTP-сервера и учетную запись электронной почты. Например, если ваш SMTP-сервер mail.example.com , а адрес электронной почты [email protected] , измените код так:

    SMTP = mail.example.com smtp_port = 25 sendmail_from = [email protected]

    Обратите внимание, что после этого, когда скрипт попытается использовать функцию mail() , для ее успешной работы нужно будет подключиться к своему интернет-провайдеру. Если вы не измените приведенные выше строки и попытаетесь использовать в скрипте функцию mail() , функция вернет код сбоя и отобразит сообщение об ошибке.

    Как настроить Apache для PHP 5

    Существует два способа установки Apache PHP . Первый: настроить его на загрузку PHP-интерпретатора в качестве модуля Apache . Второй: настроить его для запуска интерпретатора как бинарного CGI . Нужно применять только один из них. Выберите метод модуля, если на хостинге PHP также установлен, как модуль Apache , или используйте метод CGI , если он реализован на хостинге.

    a) Запуск PHP 5 в качестве модуля Apache

    Чтобы настроить Apache для загрузки PHP в качестве модуля для анализа PHP-скриптов , используйте текстовый редактор ASCII , чтобы открыть файл конфигурации Apache , httpd.conf .

    Если вы используете Apache 1.x , файл находится в папке c:Program FilesApache GroupApacheconf . Пользователи Apache 2.0.x могут найти его в папке C:Program FilesApache GroupApache2conf , а пользователи Apache 2.2.x — в папке C:Program FilesApache Software FoundationApache2.2conf . Как правило, он находится в папке conf каталога, где установлен Apache .

    Найдите раздел файла с операторами LoadModule . Объявления, перед которыми стоит символ хэша «#» , считаются закомментированными.

    Если используете Apache 1.x , добавьте следующую строку после всех операторов LoadModule :

    LoadModule php5_module "c:/php/php5apache.dll"

    Если вы используете Apache 2.0.x , добавьте следующую строку после всех операторов LoadModule :

    LoadModule php5_module "c:/php/php5apache2.dll"

    Если вы используете Apache 2.2.x , добавьте следующую строку:

    LoadModule php5_module "c:/php/php5apache2_2.dll"

    Обратите внимание, что в этом примере установки PHP используется символ прямой косой черты («/» ) вместо традиционной обратной косой черты Windows («») . Это не опечатка.

    Если вы используете Apache 1.x , найдите серию операторов «AddModule » и добавьте после всех строк следующую.

    AddModule mod_php5.c

    Затем найдите в файле блок AddType и добавьте приведенную ниже строку после последнего оператора AddType . Это нужно сделать независимо от того, какую версию Apache вы используете. Для Apache 2.2.x нужно найти строки AddType в разделе . Добавьте строку непосредственно перед закрытием для этого раздела.

    Если необходима поддержка других типов файлов, например «.phtml », добавьте их в список, например, так:

    Тем, кто использует одну из версий Apache 2 , нужно указать местоположение ini-файла PHP . Добавьте следующую строку в конец httpd.conf .

    PHPIniDir "c:/php"

    Если вы использовали другой каталог, нужно будет изменить c:/php на правильный путь. Не забудьте применить косую черту («/» ).

    Если используете Apache 1 , вы уже разместили файл php.ini в папке Windows или где-нибудь в PATH . Поэтому PHP должен будет найти его самостоятельно.

    Запуск PHP 5 в качестве бинарного файла CGI

    Если вы настроили для PHP 5 загрузку в качестве модуля Apache , можете пропустить данный раздел. Он предназначен для тех, кто хочет настроить для PHP запуск в качестве бинарного CGI .

    Процедура для этого при установке PHP 7 одинаковая как для Apache 1.x , так и для всех версий серии 2.x .

    Найдите часть конфигурационного файла Apache , в которой находится раздел ScriptAlias . Добавьте приведенную ниже строку сразу после строки ScriptAlias для «cgi-bin ». Если используете Apache 2.2.x , убедитесь, что строка расположена до закрытия для раздела .

    Обратите внимание : если вы установили PHP в другом месте, например c:Program Filesphp , нужно указать соответствующий путь вместо c:/php/ (например, c:Program Filesphp) . Не забудьте, что здесь мы используем простую косую черту («/» ) вместо обратной косой черты Windows («» ).

    ScriptAlias /php/ "c:/php/"

    Apache нужно настроить MIME тип PHP . Найдите блок комментариев AddType , поясняющий его использование, и добавьте следующую строку ниже него. Для Apache 2.2.x найдите строки AddType в разделе . Добавьте приведенную ниже строку непосредственно перед закрытием для этого раздела.

    AddType application/x-httpd-php .php

    Как и в случае установки PHP в качестве модуля Apache , можно добавить любые расширения, чтобы Apache распознавал их как скрипты PHP , например:

    AddType application/x-httpd-php .phtml

    Затем вам нужно указать серверу выполнять исполняемый файл PHP каждый раз, когда он встречает скрипт PHP . Добавьте в файл следующий код, например, после блока комментариев, поясняющих «Action «.

    Если вы используете Apache 2.2.x , то добавьте код сразу после инструкции AddType , описанной выше; в Apache 2.2.x нет блока комментариев «Action «.

    Action application/x-httpd-php "/php/php-cgi.exe"

    Примечание : часть «/php/» будет распознана как ScriptAlias , своего рода макрос, который будет расширен Apache до «c:/php/» (или «c:/Program Files/php/» , если вы установили PHP там ). Другими словами, не помещайте в эту директиву путь «c:/php/php.exe» или «c:/Program Files/php/php.exe» , а используйте «/php/php-cgi.exe» .

    Если используете Apache 2.2.x , найдите следующий раздел в файле httpd.conf :

    Добавьте приведенные ниже строки сразу после раздела, который только что нашли.

    AllowOverride None Options None Order allow,deny Allow from all

    c) Настройка индексной страницы по умолчанию

    Этот раздел относится к варианту установки PHP на Windows в качестве модуля Apache , так и двоичного CGI .

    Если вы создаете файл index.php и хотите, чтобы Apache загружал его как главную страницу сайта, придется добавить еще одну строку в файл httpd.conf . Найдите строку, которая начинается с «DirectoryIndex », и добавьте «index.php » в список файлов. Например, если у вас был такой код:

    DirectoryIndex index.html

    Дистрибутив Apache2.2.2 с в виде инсталлятора с именем apache_2.2.2-win32-x86-no_ssl.msi. Вы сможете найти его по адресу www.sai.msu.su/apache/dist/httpd/binaries/win32/

    Запустите загруженный инсталлятор на выполнение. Когда установщик спросит Вас о том, куда установить Apache укажите ему директорию c:/Apache2.2

    Примечание

    Все дальнейшие инструкции будут основываться на предположении, что Apache устанавливается именно в каталог c:/Apache2.2. Если Вы устанавливаете Apache в другой каталог, то Вы должны соответствующим образом адаптировать инструкции к своей ситуации.

    Установка Apache из инсталлятора достаточно прозрачна и не вызывает особых трудностей, вследствие чего не рационально приводить ее полное описание в данной статье. Приведем лишь одно диалоговое окно, которые пользователю требуется заполнить в процессе установки. Это окно выбора имени сервера. В поля «Network Domain» и «ServerName» запишите имя сервера, на работу с которым Apache будет настроен по умолчанию.


    Примечание

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

    Если процесс установки прошел корректно, то по ее завершению Apache2.2 у Вас уже должен быть запущен в качестве службы. Чтобы проверить так ли это откройте список служб Windows («Пуск» | «Панель управления» | «Администрирование» | «Службы» ) и найди в нем строку Apache2.2. (или Apache2). Состояние службы: работает или нет отображается в третьем столбце.

    Если Вы не можете найти в списке служб строчку Apache2.2, то вероятно в процессе установки произошел сбой и Apache не установился в качестве службы. В этом случае, Вам необходимо установить Apache, в качестве службы самостоятельно. Для выполнения этого понадобится программа с консолью, например FAR, WindowsCommander, TotalCommander и т.п.

    Откройте программу с консолью, перейдите в каталог c:/Apache2.2/bin и выполните команду:

    C:/Apache2.2/bin/httpd.exe -k install

    В ответ Вам должно быть выдано сообщение «The Apache2 service is successfully installed» . Внешний вид консольного окна приведен на рисунке.


    Первый запуск

    Управление Apache-ем (пуск, остановка, перезапуск) осуществляется либо через графический интерфейс управления службами Windows, либо в консоли выполнением файла httpd.exe с определенными ключами.

    Управление службами Windows осуществляется через контекстное меню, открываемое по нажатию правой кнопки мыши на имени службы. Если Apache еще не запущен, то выполните команду «Пуск» из контекстного меню.


    Если Вам нравится работать в консоли то для управления Apache используются ключи, приведенные ниже.

    Команды управления Apache через консоль

    Httpd.exe -k start (Запуск службы)
    httpd.exe -k stop (Остановка службы)
    httpd.exe -k restart (Перезапуск)


    По умолчанию, корневой директорией сервера установлена директория c:/Apache2.2/htdocs . Именно в ней расположен файл index.html отображаемый по имени localhost. За определение корневой директории сайта отвечает директива DocumentRoot в файле c:/Apache2.2/conf/httpd.conf .

    DocumentRoot "C:/Apache2.2/htdocs"

    Вы можете изменить ее и сделать другой каталог корневой директорией сервера.

    Однако, перед тем как делать это следует провести минимальную настройку конфигурационного файла httpd.conf. По умолчанию, Apache настроен так, чтобы запретить любой доступ к директориям сайтов и разрешения должны быть установлены явно для каждой директории, как это сделано для директории C:/Apache2.2/htdocs. Если же Вы перенесете корневую директорию сервера в другой каталог, не настроив соответствующие разрешения, то в ответ Вам будет выдана ошибка 403 Forbidden и страница, изображенная на рисунке.


    Поэтому, если вы НЕ собираетесь использовать Ваш новейший Apache для предоставления услуг хостинга в Интернете или в локальной сети, то следует сразу же снять установленную по умолчанию защиту.

    Найдите в файле С:/Apache2.2/conf/httpd.conf строки:


    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Satisfy all

    Обратите внимание на строку Deny from all .

    Она запрещает всякий доступ к директориям, в том числе и к директориям виртуальных хостов. При попытке обращения к ним Apache ответит ошибкой 403 Forbidden. Противовесом ей является директива «Allow from all». Установка этой директивы отменяет действие директивы «Deny from all».

    Можно устанавливать директиву Allow from all для каждой директории и для каждого виртуального хоста, но можно поступить проще и убрать (или закомментировать) директиву «Deny from all» из контейнера.


    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    # Deny from all
    Satisfy all

    После выполнения этих нехитрых действий перезапустите Apache. Как это сделать описывается выше.

    Установка PHP

    Cовременный web-сервер уже немыслим без поддержки динамически-генерируемых страниц. В России лидером среди технологий создания динамических страниц и web-приложений является технология PHP. Ниже будет рассмотрен процесс подключения PHP на примере версии 5.3.5. Если у Вас уже установлена эта версия PHP, то можете сразу переходить к разделу «Подключение PHP к Apache2.2.2».

    Дистрибутив с PHP Вы можете загрузить с нашего сайта по адресу . По ссылке можно также ознакомиться с правилами выбора дистрибутива и почему мы взяли на себя смелось предложить скачать дистрибутив с нашего сайта, а не с официального php.net. При загрузке дистрибутива, представленного по ссылке, предполагается, что вы будете устанавливать PHP в качестве модуля.

    Распакуйте zip-архив с php в директорию c:/php-5.3.5. На этом установка PHP завершена. Дальнейшие действия будут касаться настройки связки PHP+Apache и конфигурирования самого PHP.

    Примечание

    Все дальнейшие инструкции будут основываться на предположении, что Вы используете php-5.3.5, который установлен в каталог c:/php-5.3.5. Если у Вас другая версия PHP или Вы устанавливаете php в другой каталог, то Вы должны соответствующим образом адаптировать приводимые инструкции к своей ситуации.

    Подключение PHP к Apache2.2.2

    Проблемы с подключением PHP к Apache2.2

    Если Вы попытаетесь подключить штатный модуль php5apache2.dll к Apache2.2.2, то Вас ожидает неудача. Apache не захочет запускаться, выдавая сообщение, изображенное на рисунке.


    А в журналах системы и приложений появятся следующие сообщения

    The Apache service named reported the following error:
    >>> httpd.exe: Syntax error on line 115 of C:/Apache2.2/conf/httpd.conf:
    Cannot load C:/php-5.3.5/php5apache2.dll into server: \xcd\xe5 \xed\xe0\xe9
    \xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.

    Библиотека php5apache2.dll предназначена для Apache 2.0.X, для Apache 2.2.X необходимо поключать библиотеку php5apache2_2.dll (она находится рядом с php5apache2.dll в дистрибутиве).

    Конфигурирование httpd.conf для подключения PHP

    Для подключения php, в качестве модуля, необходимо добавить всего 3 инструкции в файл httpd.conf

    Инструкции для подключения PHP в httpd.conf

    LoadModule php5_module c:/php-5.3.5/php5apache2_2.dll
    AddType application/x-httpd-php phtml php
    PHPIniDir "c:/php-5.3.5/"

    Эти строки следует поместить в примерно в середину файла httpd.conf, например, сразу после директив LoadModule. Конкретное расположение этих директив не имеет принципиального значения, однако нельзя помещать их в начале, а также и в самом конце файла httpd.conf.

    • Первая строка загружает модуль PHP, реализованный в библиотеке php5apache2_2.dll
    • Вторая строка устанавливает соответствие между файлами с расширением php и mime-типом application/x-httpd-php, который обрабатывается модулем PHP.
    • Третья строка позволяет явно указать расположением конфигурационного файла php.ini.

    Примечание

    Директивы PHPIniDir сильно не хватало в Apache1.3, так как часто возникала путаница в настройке php при наличии нескольких копий файла php.ini, либо при размещении его в неподходящей директории.

    Следующим шагом необходимо создать конфигурационный файл для PHP. В httpd.conf в директиве PHPIniDir местом расположения конфигурационного файла php была указана директория c:/php-5.3.5. Сам конфигурационный файл должен называться php.ini

    В директории c:/php-5.3.5 находятся несколько шаблонов конфигурационных файлов. В качестве основы возьмем файл c:/php-5.3.5/php.ini-recommended и переименуем его в php.ini . Таким образом, конфигурационный файл PHP (php.ini) будет располагаться в директории c:/php-5.3.5 и именно в него должны вносится все изменения конфигурации PHP.

    После внесения изменений в httpd.conf и создания файла php.ini перезагрузите Apache.

    Создайте тестовый php-скрипт под именем phpinfo.php, выполняющий одноименную функцию и сохраните его в директорию c:/Apache2.2/htdocs .

    Скрипт phpinfo.php

    echo phpinfo ();

    // Обратите внимание, что использован полный синтаксис записи
    // php-скрипта. ?>

    Примечание

    В тестовом скрипте phpinfo.php для определения PHP-скрипта использован полный синтаксис. В дистрибутивах PHP последних версий синтаксис короткой записи по умолчанию отключен. За включение режима короткой записи отвечает директива short_open_tag в файле php.ini. Ее нужно установить в значение On .

    Теперь обратитесь к данному скрипту через браузер введя в адресной строке http://localhost/phpinfo.php . В ответ Вам должны быть отображены широко известные фиолетовые страницы, отображающие настройки php и его расширений.


    Если отчет функции phpinfo() в виде "фиолетовых таблиц" отобразилися - значит php успешно выполняется Apache-ем.

    Возможные ошибки

    Apache загружается, но вместо "фиолетовых таблиц" открывается пустая страница.

    Проверьте: тестовый скрипт записан в через полный синтаксис или через сокращенный? Т.е.:

    Должно быть записано
    echo phpinfo ();
    ?>
    вместо
    echo phpinfo ();
    ?>

    Apache для Windows XP

    В настоящее время все актуальные версии Apache запускаются на Windows 7 SP1, Vista SP2, 8 / 8.1, 10, Server 2008 SP2 / R2 SP1, Server 2012 / R2, Server 2016.

    Таким образом, в настоящее время невозможно запустить современные версии Apache на Windows XP. Также Apache не заработает на Windows Server 2003.

    На Windows XP можно запустить только Apache 2.2. Причём ваша система Windows XP должна иметь Service Pack 3.

    Прежде чем продолжить, я рекомендую вам перейти на более новую версию Windows — начиная с семёрки можно установить любую современную версию Apache и PHP. Старые версии Apache и PHP могут содержать баги. Если вы планируете использовать локальный веб-сервер для изучения администрирования веб-приложений и программированию на PHP, то Windows XP не самая лучшая платформа — здесь вы будете иметь дело с давно устаревшим программным обеспечением.

    Если я вас не убедил, то следуйте этой пошаговой инструкции для запуска Apache на Windows XP.

    Создание структуры веб-сервера

    Создадим структуру каталогов нашего сервера. Главная идея — разделить исполнимые файлы и файлы сайтов с базами данных. Это удобно для обслуживания сервера, в том числе для резервного копирования.

    В корне диска C:\ создайте каталог Server . В этом каталоге создайте 2 подкаталога: bin (для исполнимых файлов) и data .

    Перейдите в каталог data и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).

    Как установить Apache на Windows XP

    Выберите Custom установку:

    Измените папку установки на C:\Server\bin\Apache2.2\ :

    После завершения установки откройте http://localhost/ :

    Перейдите в каталог C:\Server\bin\Apache2.2\conf\ и откройте файл httpd.conf любым текстовым редактором.

    В нём нам нужно заменить ряд строк.

    #ServerName localhost:80

    ServerName localhost:80

    DocumentRoot "C:/Server/bin/Apache2.2/htdocs"

    DocumentRoot "C:/Server/data/htdocs/"

    DirectoryIndex index.html

    DirectoryIndex index.php index.html index.htm

    # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None

    # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

    #LoadModule rewrite_module modules/mod_rewrite.so

    LoadModule rewrite_module modules/mod_rewrite.so

    Сохраняем и закрываем файл. Всё, настройка Apache завершена! Перезапустите веб-сервер или перезагрузите компьютер, чтобы изменения вступили в силу.

    Ваши сайты размещайте в папке C:\Server\data\htdocs\ .

    Как установить PHP на Windows XP

    В Windows XP с данной версией Apache заработает только PHP 5.4, последней версией является PHP 5.4.9 , именно этот файл и скачиваем из архива .

    Скачайте и установите для этой версии PHP файл «Распространяемый пакет Microsoft Visual C++ 2008 (x86) ».

    В папке C:\Server\bin\ создайте ещё одну папку с именем PHP , в неё распакуйте содержимое скаченного файла php-5.4.9-Win32-VC9-x86.zip .

    В файле C:\Server\bin\Apache2.2\conf\httpd.conf в самый конец добавляем строчки

    PHPIniDir "C:/Server/bin/PHP" AddHandler application/x-httpd-php .php LoadModule php5_module "C:/Server/bin/PHP/php5apache2_2.dll"

    Теперь в папке C:\Server\bin\PHP\ найдите файл php.ini-development и переименуйте его в php.ini .

    Откройте этот файл php.ini в любом текстовом редакторе, ищем строчку

    ; extension_dir = "ext"

    и заменяем её на

    Extension_dir = "C:\Server\bin\PHP\ext\"

    Теперь найдите группу строк:

    ;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_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_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 ;extension=php_zip.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 ;extension=php_zip.dll

    Перезапустите веб-сервер:

    В каталоге C:\Server\data\htdocs\ создаём файл с названием i.php

    Копируем в этот файл:

    Распакуйте скаченный файл в C:\Server\data\htdocs\ . Переименуйте эту папку (phpMyAdmin-3.5.8.2-all-languages) в phpmyadmin .

    В каталоге c:\Server\data\htdocs\phpmyadmin\ создаём файл config.inc.php и копируем туда:

    Теперь в веб-браузере откройте адрес http://localhost/phpmyadmin/ :

    В качестве Имени пользователя введите root , а пароль оставьте пустым.

    Заключение

    Как можно увидеть, хотя мы и отбирали подходящие версии, но на Windows XP можно запустить полноценный веб-сервер, пусть даже и не с самыми последними компонентами программ.

    Кстати, вы можете скачать готовую сборку, созданную по данной инструкции. Вы найдёте её .

    Данный раздел руководства применим к Windows 98/Me и Windows NT/2000/XP/2003. PHP не будет работать на 16 битных платформах, таких как Windows 3.1 и иногда мы ссылаемся на поддерживаемые Windows платформы как Win32.

    Замечание :

    Windows XP/2003 больше не поддерживаются для PHP 5.5.0.

    Замечание :

    Windows 98/Me/NT4/2000 больше не поддерживаются для PHP 5.3.0.

    Замечание :

    Windows 95 больше не поддерживается для PHP 4.3.0.

    Если у вас есть окружение для разработки, такое как Microsoft Visual Studio, вы также можете собрать PHP из исходников.

    Установив PHP в ОС Windows, вы также можете захотеть загрузить различные расширения для обеспечения дополнительной функциональности.

    Руководство по ручной установке

    Этот раздел содержит инструкции для ручной установки и настройки PHP на Microsoft Windows.

    Выбор и загрузка пакета дистрибутивов PHP

    Загрузите дистрибутив PHP в виде zip-архива с . Существует несколько различных версий zip-пакетов - выберите версию, которая подходит для используемого веб сервера:

    Структура и содержание пакета PHP

    Распакуйте содержимое zip архива в директорию на ваш выбор, например, C:\PHP\. Структура папок и файлов, извлеченных из архива, будет выглядеть следующим образом:

    Пример #1 Структура пакета PHP 5

    c:\php | +--dev | | | |-php5ts.lib -- версия php5.lib без поддержки многопоточности | +--ext -- DLL модули для PHP | | | |-php_bz2.dll | | | |-php_cpdf.dll | | | |-... | +--extras -- пустой | +--pear -- начальная копия PEAR | | |-go-pear.bat -- скрипт установки PEAR | |-... | |-php-cgi.exe -- исполняемый файл CGI | |-php-win.exe -- выполняет скрипты без открытой консоли | |-php.exe -- Исполняемый файл PHP для командной строки (CLI) | |-... | |-php.ini-development -- настройки php.ini по умолчанию | |-php.ini-production -- рекомендуемые настройки php.ini | |-php5apache2_2.dll -- есть только в многопоточной версии | |-php5apache2_2_filter.dll -- есть только в многопоточной версии | |-... | |-php5ts.dll -- ядро PHP DLL (php5.dll в версии без поддержки многопоточности) | |-...

    Ниже представлен список модулей и исполняемых файлов, включенных в PHP zip дистрибутив:

      php-cgi.exe - исполняемый файл CGI, который может быть использован во время запуска PHP на IIS через CGI или FastCGI.

      php-win.exe - исполняемый файл PHP для выполнения PHP скриптов без использования консоли (например, приложения PHP, использующие Windows GUI).

      php.exe - исполняемый файл PHP для выполнения PHP скриптов в консоли (CLI).

      php5apache2_2.dll - модуль Apache 2.2.X.

      php5apache2_2_filter.dll - фильтр Apache 2.2.X.

    Изменение файла php.ini

    После того, как содержимое пакета php извлечено, создайте копию php.ini-production с именем php.ini в той же папке. Если необходимо, также возможно разместить php.ini в любом другом месте по вашему выбору, но это потребует дополнительной настройки, которая приводится в разделе Настройка PHP .

    Файл php.ini содержит правила исполнения PHP и инструкции по работе с окружением, в котором он запускается. Ниже приводятся некоторые из настроек php.ini , которые могут улучшить работу PHP в Windows. Некоторые из них необязательные. Есть много других директив, которые могут быть полезны в вашем окружении - обращайтесь к списку директив php.ini за более подробной информацией.

    Обязательные директивы:

      extension_dir = <путь к директории модулей> - extension_dir указывает директорию, где расположены модули PHP. Путь может быть абсолютным (например, "C:\PHP\ext") или относительным (например, ".\ext"). Используемые в php.ini модули должны быть расположены в extension_dir .

      extension = xxxxx.dll - Для каждого подключаемого модуля необходимо указать директиву "extension=". Модули из extension_dir , отмеченные такой директивой, загружаются при старте PHP.

      log_errors = On - в PHP есть механизм ведения лога ошибок, который может использоваться для сохранения ошибок в файле или для отправки в сервис (например syslog). Механизм также использует значение директивы error_log . Когда PHP исполняется службой IIS, log_errors должен быть включен с корректным error_log .

      error_log = <пусть к файлу лога ошибок> - error_log нужен для обозначения абсолютного или относительного пути к файлу, в который протоколируются ошибки PHP. Этот файл должен доступным для записи веб-сервером. Самые распространенные места размещения этого файла - различные временные TEMP директории, например, "C:\inetpub\temp\php-errors.log".

      cgi.force_redirect = 0 - Эта директива необходима для исполнения под IIS. Это механизм защиты директории, требуемый многими другими веб-серверами. Однако, включение его под IIS вызовет ошибки ядра PHP в Windows.

      cgi.fix_pathinfo = 1 - Обеспечивает поддержку PATH_INFO согласно спецификации CGI. IIS FastCGI использует эту настройку.

      fastcgi.impersonate = 1 - FastCGI под IIS поддерживает способность идентифицировать маркеры безопасности вызывающего клиента. Это позволяет IIS определять контекст безопасности, под которые выполняется запрос.

      fastcgi.logging = 0 - Запись логов FastCGI должна быть выключена в IIS. Если запись включена, тогда все сообщения любых классов распознаются FastCGI как ошибки, что приведет IIS к выбрасыванию исключения HTTP 500.

    Опциональные директивы

      max_execution_time = ## - Эта директива указывает максимальное время выполнения любого скрипта PHP. По умолчанию равна 30 секундам. Следует увеличить это значение, если приложение PHP должно выполняться дольше.

      memory_limit = ###M - Количество памяти, доступное процессу PHP, в Мб. По умолчанию 128, что достаточно для большинства PHP приложений. Некоторым сложным приложениям может потребоваться больше памяти.

      display_errors = Off - Директива определяет, какие ошибки следует возвращать веб-серверу для дальнейшего протоколирования. При значении "On" PHP сообщает обо всех видах ошибок, которые приводятся в директиве error_reporting . По соображениям безопасности рекомендуется установить в "Off" на рабочих серверах, чтобы исключить передачу вывода ошибок конечному пользователю, так как они могут содержат информацию, угрожающую безопасности приложения.

      open_basedir = <пути к директориям, разделенные точкой с запятой> , например openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". Эта директива указывает пути к директориям, в которых PHP разрешены операции с файловой системой. Любая операция с файлами и директориями вне указанных путей будет приводить к ошибке. Эта директива особенно полезна для предотвращения доступа к установленному PHP в окружениях разделяемых хостингов для предотвращения доступа PHP скриптов к любым файлам вне корневой директории веб сайта.

      upload_max_filesize = ###M и post_max_size = ###M - Максимальный разрешенный размер загруженного файла и присланных данных соответственно. Значения этих директив должны быть увеличены, если приложения PHP должны обрабатывать большие загружаемые файлы, например, изображения или видеофайлы.

    После установки PHP в вашей системе, следующим шагом будет выбор веб-сервера и его дальнейшая настройка для работы с PHP. Выберите конкретный веб-сервер в оглавлении к данному материалу.

    Microsoft IIS 5.1 and IIS 6.0

    This section contains instructions for manually setting up Internet Information Services (IIS) 5.1 and IIS 6.0 to work with PHP on Microsoft Windows XP and Windows Server 2003. For instructions on setting up IIS 7.0 and later versions on Windows Vista, Windows Server 2008, Windows 7 and Windows Server 2008 R2 refer to Microsoft IIS 7.0 and later .

    Configuring IIS to process PHP requests

    Download and install PHP in accordance to the instructions described in manual installation steps

    Замечание :

    Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe builds are available at

    Configure the CGI- and FastCGI-specific settings in php.ini file as shown below:

    Пример #2 CGI and FastCGI settings in php.ini

    Включение поддержки FastCGI в IIS

    Модуль FastCGI при установке IIS по умолчанию отключён. Способы включения его различаются в зависимости от версии используемой Windows.

    Для включения поддержки FastCGI на Windows Vista SP1 и Windows 7:

      В меню "Пуск" выберите пункт "Выполнить", в появившемся окне введите с клавиатуры "optionalfeatures.exe" и нажмите "Ok";

      В открывшемся окне "Компоненты Windows" раскройте папку "Службы IIS", "Службы интернета", "Компоненты разработки приложений" и установите галочку напротив "CGI";

      Нажмите OK и ждите окончания процесса установки.


    Чтобы включить поддержку FastCGI на Windows Server 2008 и Windows Server 2008 R2:

      В Windows откройте меню Пуск выберите пункт "Выполнить:", наберите с клавиатуры "CompMgmtLauncher" и нажмите "Ok";

      Если роль "Веб-сервер (IIS)" не представлена во вкладке "Роли", добавьте её, выбрав "Добавить роли";

      Если роль "Веб-сервер (IIS)" присутствует, выберите "Выбор службы ролей" и установите галочку напротив "CGI" в группе "Компоненты разработки приложений";


    Настройка IIS для обработки PHP запросов

    Скачайте и установите PHP в соответствии с инструкциями, приведёнными в описании установки

    Замечание :

    Измените CGI и FastCGI настройки в файле php.ini как показано ниже:

    Пример #8 CGI и FastCGI настройки в php.ini

    fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo=1 cgi.force_redirect = 0

    Настройте IIS обработчик для PHP, используя Интерфейс управления IIS или через командную строку.

    Использование Интерфейса управления IIS для создания обработчика PHP

    Следующие шаги позволят вам создать IIS обработчик для PHP в Интерфейсе управления IIS:



    Использование командной строки для создания сопоставления обработчика PHP

    Используйте команды приведённые ниже для создания пула процессов IIS FastCGI который будет использовать php-cgi.exe выполняемый для PHP запросов. Замените значение параметра fullPath на абсолютный путь к файлу php-cgi.exe .

    Пример #9 Создание IIS FastCGI пула процессов

    %windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI ^ /+

    Настройка IIS для обработки специфических запросов PHP из командной строки показана ниже. Замените значение параметра scriptProcessor на абсолютный путь к файлу php-cgi.exe .

    Пример #10 Создание сопоставления обработчика запросов PHP

    %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers ^ /+

    Эта команда создает для IIS сопоставление обработчика для файлов с расширением *.php, который получается в результате и обрабатывается модулем FastCGI.

    Замечание :

    На этом шаге установка и настройка завершены. Следующие инструкции необязательны, но очень рекомендуются для достижения оптимальной функциональности и производительности PHP на IIS.

    Представление и доступ к файловой системе

    При использовании IIS рекомендуется включить представление FastCGI в PHP. Это контролируется директивой fastcgi.impersonate в php.ini файле. Когда имперсонация включена, PHP будет выполнять все операции с файловой системой под аккаунтом, который был определён при аутентификации IIS. Это гарантирует, что при общем PHP процессе для всех сайтов IIS, PHP скрипты этих сайтов не будут иметь доступ к файлам друг друга до тех пор, пока IIS использует различные учетные записи для каждого из сайтов.

    Для примера, в настройках по умолчанию IIS 7, включена анонимная аутентификация под стандартным пользователем IUSR. Это значит, что давая разрешение IIS выполнить PHP скрипт, так же необходимо дать права на чтение этого скрипта аккаунту IUSR. Если PHP приложению необходимо выполнить запись в некоторые файлы или папки, тогда аккаунту IUSR следует дать права на запись в них.

    Чтобы решить какой пользователь используется для идентификации в IIS 7, можно использовать следующие команды. Замените "Default Web Site" на имя IIS сайта, с которым вы работаете. На выходе, в XML конфигурации смотрите атрибут userName .

    Пример #11 Определение аккаунта, используемого IIS при анонимной идентификации

    %windir%\system32\inetsrv\appcmd.exe list config "Default Web Site" ^ /section:anonymousAuthentication

    Замечание :

    Если атрибут userName отсутствует в элементе anonymousAuthentication , или установлен как пустая строка, это значит, что удостоверение пула приложений используется как анонимное для этого веб-сайта.

    Для изменения настроек доступа для файлов или папок, используйте интерфейс пользователя в проводнике Windows или команду icacls .

    Пример #12 Настройка разрешения доступа к файлам

    icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M)

    Установка index.php как документа по умолчанию в IIS

    По умолчанию в IIS не установлено имя документа для обработки HTTP запросов по умолчанию. В PHP приложениях, обычно используется по умолчанию документ index.php . Чтобы добавить index.php в лист документов по умолчанию IIS, используйте такую команду:

    Пример #13 Установка index.php как документ по умолчанию в IIS

    %windir%\system32\inetsrv\appcmd.exe set config ^ -section:system.webServer/defaultDocument /+"files." ^ /commit:apphost

    FastCGI и PHP конфигурация с пересозданием процессов

    Настройка IIS FastCGI установок для утилизации PHP процессов с помощью команд приведена ниже. Опция FastCGI instanceMaxRequests устанавливает максимальное количество запросов, которое может обрабатываться одним php-cgi.exe процессом пока IIS не начнет их отключать. PHP переменная окружения PHP_FCGI_MAX_REQUESTS устанавливает как много запросов будет обрабатывать один php-cgi.exe процесс пока сам не начнет удалять их. Конечно, значение установленное для FastCGI InstanceMaxRequests меньше или равно PHP_FCGI_MAX_REQUESTS .

    Пример #14 Настройка FastCGI и PHP пересоздаине

    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^ /.instanceMaxRequests:10000 %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^ /+".environmentVariables.^ "

    Установка таймаута FastCGI

    Увеличение параметра таймаута для FastCGI делается, если имеется долго выполняемый PHP скрипт. Два параметра контролируют таймаут, это: activityTimeout и requestTimeout . Используйте команды приведённые ниже для изменения настроек таймаута. Конечно, надо заменить значение параметра fullPath на полный путь к файлу php-cgi.exe .

    Пример #15 Конфигурация установок таймаута FastCGI

    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^ /.activityTimeout:"90" /commit:apphost %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi ^ /.requestTimeout:"90" /commit:apphost

    Изменение положения файла php.ini

    Существует два способа настройки PHP для работы с Apache 1.3.x в Windows. Первый - использовать двоичный файл CGI (php.exe для PHP 4 и php-cgi.exe для PHP 5), второй - использовать Apache Module DLL. В обоих случаях необходимо отредакттировать httpd.conf для настройки Apache для работы с PHP и перезапустить сервер.

    В настоящее время SAPI модуль более стабилен под Windows, поэтому мы рекомендуем использовать его вместо CGI так как он более прозрачен и безопасен.

    Хотя существует несколько вариантов конфигурирования PHP под Apache, они достаточно просты для новичка. Пожалуйста, пользуйтесь документацией Apache для дальнейших указаний по конфигурированию.

    Не забудьте перезагрузить сервер после изменения конфигурационного файла. Например, командами NET STOP APACHE и NET START APACHE , если Apache запущен как служба Windows, или с помощью обычных ярлыков.

    Замечание :

    Установка PHP как модуля Apache

    Необходимо добавить следующие строки в файл Apache httpd.conf:

    Пример #17 PHP как модуль Apache 1.3.x

    Это предполагает, что PHP установлен в c:\php . Измените путь, если это не так.

    # Add to the end of the LoadModule section # Don"t forget to copy this file from the sapi directory! LoadModule php4_module "C:/php/php4apache.dll" # Add to the end of the AddModule section AddModule mod_php4.c

    # Add to the end of the LoadModule section LoadModule php5_module "C:/php/php5apache.dll" # Add to the end of the AddModule section AddModule mod_php5.c

    Для обеих версий:

    # Add this line inside the conditional brace AddType application/x-httpd-php .php # For syntax highlighted .phps files, also add AddType application/x-httpd-php-source .phps

    Установка как бинарного CGI файла

    Если PHP распакован в C:\php\ как описано в разделе Manual Installation Steps , необходимо добавить следующие строки в конфигурационный файл Apache:

    Пример #18 PHP и Apache 1.3.x как CGI

    Заметьте, что вторая строка в списке выше уже находится в httpd.conf , но она закомментирована. Кроме того, не забудьте заменить c:/php/ на ваш настоящий путь к PHP.

    Внимание

    "Безопасность CGI"

    В случае установки PHP как CGI нет такой удобной опции для подсветки синтаксиса исходников PHP как при установке в виде модуля. Если вы хотите использовать ее, необходимо использовать функцию highlight_file() . Для этого просто создайте PHP скрипт со следующим кодом: .

    Apache 2.x on Microsoft Windows

    Этот раздел содержит инструкции по установке PHP для Apache 2.x на системы Microsoft Windows.

    Замечание : Поддержка Apache 2.2

    Пользователям Apache 2.2 следует обратить внимание на то, что DLL файл для Apache 2.2 называется php5apache2_2.dll , а не php5apache2.dll и он доступен только для PHP 5.2.0 и более поздних версий.

    Вам настоятельно рекомендуется ознакомиться с » Документацией по Apache , чтобы получить базовые знания о Apache 2.x Server. Также перед чтением данной справки обратите внимание на » Рекомендации для Windows по Apache 2.x.

    Apache 2.x предназначен для работы в серверных версиях Windows, таких как Windows NT 4.0, Windows 2000, Windows XP или Windows 7. Хотя Apache 2.x может использоваться на Windows 9x, эти платформы не поддерживаются полностью, и некоторые функции не будут работать правильно. Исправление этой ситуации не планируется.

    Скачайте наиболее актуальную версию » Apache 2.x и подходящую версию PHP. Следуйте Пошаговому руководству по установке и вернитесь для продолжения интеграции PHP и Apache.

    Существует три пути установки PHP для Apache на Windows. Вы можете запустить PHP как обработчик, как CGI, или под FastCGI.

    Замечание : Помните, что при указании путей в конфигурационных файлах Apache под Windows, все обратные слеши, например, c:\directory\file.ext должны быть изменены на прямые: c:/directory/file.ext . Для путей с директориями также может понадобиться слеш в конце.

    Установка PHP как обработчика под Apache

    Вам необходимо добавить следующие строки в ваш конфигурационный файл Apache httpd.conf для загрузки PHP-модуля для Apache 2.x:

    Пример #19 PHP как обработчик Apache 2.x

    # LoadModule php5_module "c:/php/php5apache2.dll" AddHandler application/x-httpd-php .php # конфигурирование пути к php.ini PHPIniDir "C:/php"

    Замечание : Не забудьте указать актуальный путь к директории PHP вместо C:/php/ в приведенном примере. Позаботьтесь, чтобы в директиве LoadModule использовались либо php5apache2.dll либо php5apache2_2.dll и удостоверьтесь, что указанный файл фактически находится по пути, который вы указали в директиве.

    Приведенная выше конфигурация позволит PHP обработать любой файл, который имеет расширение.php, даже если имеются другие расширения. К примеру, файл с именем example.php.txt будет запущен обработчиком PHP. Чтобы гарантировать, что только файлы, которые имеют расширение .php будут запущены, используйте следующую конфигурацию:

    SetHandler application/x-httpd-php

    Запуск PHP как CGI

    Вы должны обратиться к документации » Apache CGI для более полного понимания о запуске CGI под Apache.

    Для запуска PHP как CGI, вам необходимо поместить ваши php-cgi файлы в директорию, обозначенную как директория CGI, используя директиву ScriptAlilas.

    После этого вам необходимо добавить строку #! в PHP файлы, указывающую на местоположение исполняемого файла PHP.

    Пример #20 PHP как CGI под Apache 2.x

    #!C:/php/php.exe

    Внимание

    Используя установку CGI, ваш сервер открыт перед несколькими возможными уязвимостями. Пожалуйста, ознакомьтесь с разделом "Безопасность CGI" чтобы узнать, как можно защитить себя от таких атак.

    Запуск PHP под FastCGI

    Запуск PHP под FastCGI имеет ряд преимуществ по сравнению с запуском как CGI. Установка же довольно проста:

    NSAPI setup on Sun, iPlanet and Netscape servers

    To install PHP with NSAPI, do the following:

    • Copy php4ts.dll to your systemroot (the directory where you installed Windows)
    • Make a file association from the command line. Type the following two lines:

      assoc .php=PHPScript ftype PHPScript=c:\php\php.exe %1 %*

    • In the Netscape Enterprise Administration Server create a new mime type (Category: type, Content-Type: magnus-internal/x-httpd-php, File Suffix: php).
    • Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6) and add the following: You should place the lines after mime types init .

      Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll" Init fn="php4_init" LateInit="yes" errorString="Failed to initialise PHP!"

      (PHP >= 4.3.3) The php_ini parameter is optional but with it you can place your php.ini in your web server configuration directory.

      Configure the default object in obj.conf (for virtual server classes in their vserver.obj.conf): In the section, place this line necessarily after all "ObjectType" and before all "AddLog" lines:

      Service fn="php4_execute" type="magnus-internal/x-httpd-php"

      (PHP >= 4.3.3) As additional parameters you can add some special php.ini -values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

      This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

      ObjectType fn="force-type" type="magnus-internal/x-httpd-php" Service fn=php4_execute

      After that you can configure a directory in the Administration server and assign it the style x-httpd-php . All files in it will get executed as PHP. This is nice to hide PHP usage by renaming files to .html .

    • Restart your web service and apply changes
    • Do it for each web server instance you want PHP to run
    • Замечание :

      The stacksize that PHP uses depends on the configuration of the web server. If you get crashes with very large PHP scripts, it is recommended to raise it with the Admin Server (in the section "MAGNUS EDITOR").

      CGI environment and recommended modifications in php.ini

      Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE WS/iPlanet/Netscape is a multithreaded web server. Because of that all requests are running in the same process space (the space of the web server itself) and this space has only one environment. If you want to get CGI variables like PATH_INFO , HTTP_HOST etc. it is not the correct way to try this in the old PHP way with getenv() or a similar way (register globals to environment, $_ENV ). You would only get the environment of the running web server without any valid CGI variables!

      Замечание :

      Why are there (invalid) CGI variables in the environment?

      Answer: This is because you started the web server process from the admin server which runs the startup script of the web server, you wanted to start, as a CGI script (a CGI script inside of the admin server!). This is why the environment of the started web server has some CGI environment variables in it. You can test this by starting the web server not from the administration server. Use the command line as root user and start it manually - you will see there are no CGI-like environment variables.

      Simply change your scripts to get CGI variables in the correct way for PHP 4.x by using the superglobal $_SERVER . If you have older scripts which use $HTTP_HOST , etc., you should turn on register_globals in php.ini and change the variable order too (important: remove "E" from it, because you do not need the environment here):

      variables_order = "GPCS" register_globals = On

      Special use for error pages or self-made directory listings (PHP >= 4.3.3)

      You can use PHP to generate the error pages for "404 Not Found" or similar. Add the following line to the object in obj.conf for every error page you want to overwrite:

      Error fn="php4_execute" code=XXX script="/path/to/script.php"

      Where XXX is the HTTP error code. Please delete any other Error directives which could interfere with yours. If you want to place a page for all errors that could exist, leave the code parameter out. Your script can get the HTTP status code with $_SERVER["ERROR_TYPE"] .

      Another possibility is to generate self-made directory listings. Just create a PHP script which displays a directory listing and replace the corresponding default Service line for type="magnus-internal/directory" in obj.conf with the following:

      Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php"

      For both error and directory listing pages the original URI and translated URI are in the variables $_SERVER["PATH_INFO"] and $_SERVER["PATH_TRANSLATED"] .

      Этот список описывает установку ISAPI модуля для работы с сервером Sambar под Windows.

        Найдите файл, который называется mappings.ini (в папке config) в установочной директории Sambar.

        Откройте mappings.ini и добавьте следующую строку под :

        Пример #22 Конфигурация ISAPI для Sambar

        #для PHP 4 *.php = c:\php\php4isapi.dll #для PHP 5 *.php = c:\php\php5isapi.dll

        (Если PHP установлен в c:\php .)

        Перезапустите Sambar, чтобы изменения вступили в силу.

      Замечание :

      Если вы хотите использовать PHP для связи с ресурсами на других компьютерах вашей сети, вам необходимо изменить учетную запись, которая используется службой сервера Sambar. По умолчанию это LocalSystem и удаленные ресурсы будут недоступны. Учетная запись может быть отредактирована с помощью опции "Службы" утилиты администрирования из панели управления Windows.

      Xitami на Microsoft Windows

      Этот раздел содержит заметки и трюки, специфичные для » Xitami на платформе Windows.

      Этот перечень действий описывает как установить PHP CGI библиотеку так, чтобы она работала с Xitami под Windows.

      Замечание : Важно для пользователей CGI

      Установка модулей PHP в ОС Windows

      После установки PHP и веб-сервера на ОС Windows может понадобиться установить некоторые модули для добавления функционала. Вы можете выбрать, какие модули будут загружаться при старте PHP, модификацией вашего файла php.ini . Также вы можете загружать модули динамически в ваших скриптах, используя функцию

      Продолжаем собирать локальный сервер WAMP на локальной машине (персональном компьютере). В этой статье устанавливаем интерпретатор PHP, он же буква [P] в акрониме WAMP.

      Напомню сборка Apache+MySQL+PHP необходима для работы по созданию сайта на своём компьютере, как локальном сервере. Задача многим интересная и часто используемая для работы над проектами. Самостоятельная сборка AMP – задача сложная, связанная с настройкой компьютера и его постоянной исправностью. Для многих это проще, чем работать с удалёнными серверами, ведь компьютерная помощь всегда под рукой. Кроме этого работа с локальным сервером бесплатна.

      В прошлых статьях я рассказывал, как , как . Локальный сервер собираем под управлением Windows 7. Пришло время установить PHP.

      Устанавливать PHP будем в папку php созданную на системном диске: C:\Program Files\PHP.

      Где взять PHP

      Последнюю версию php берем только на официальном сайте, вот ссылка: https://php.net/downloads.php . еще одна: https://windows.php.net/download#php-7.0. Последнюю версию php7.0 брать не будем, возьмем не такую «революционную» PHP 5.6 (5.6.20). Я беру сборку под 32 битную архитектуру Windows 7 с встроенным инсталлятором Windows.

      Установка PHP с инсталлятором (MSI)

      Последний PHP с инсталлятором и главное с модулем Apache 2.2. это php-5.3.10-nts-Win32-VC9-x86.msi. Берем его тут: https://windows.php.net/downloads/releases/archives / его и поставим.

      Примечание: Выбираем с модулем Apache 2.2., так как мы собираем WAMP на Apache 2.2, который мы уже установили.

      Установка PHP при помощи инсталлятора (MSI) простая, в несколько окон:

      1. Запускаем скаченный файл php-5.3.10-nts-Win32-VC9-x86.msi.

      Первое окно установки php-5.3.10

      2. Знакомимся с лицензией и согласившись с ней, идем дальше, нажимая кнопку «Next».

      3. На этой странице задаем папку, в которую ставим PHP. Пусть это будет каталог:

      4. На следующей странице, выбираем используемый веб-сервер. В нашей сборке это Apache2.

      5. На этой странице нужно выбрать модули PHP, которые нам будут нужны. Для подстраховки выбираем всё.

      6. Жмем «Install»


      Жмем Install для установки php-5.3.10
      Видим процесс окно установки php-5.3.10

      Всё! Установка PHP на локальный компьютер завершена.