Как установить и настроить PHP 5 для запуска с Apache на Windows
В этой статье приводится пошаговое руководство по установке 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 , теги типа «<?» не будут считаться открывающими тегами для PHP-кода . В таком случае, чтобы начать PHP-скрипт , нужно будет скомпоновать скрипт с открывающим тегом типа "<?php".
Поскольку многие сторонние PHP-скрипты используют формат «<?», установка для этого параметра значения off создаст больше проблем, чем принесет пользы. Особенно, если учесть тот факт, что большинство, коммерческих хостингов, поддерживающих PHP , без проблем обрабатывают скрипты, использующие «< ?», в качестве открывающего тега. Чтобы изменить эту установку, отредактируйте данную строку следующим образом:
b) Волшебные кавычки
При установке Apache PHP по умолчанию входящие данные автоматически не экранируются с помощью слэша. Если вы хотите, чтобы входные данные имели префикс обратной косой черты («»), например, чтобы воспроизводить настройки хостинга, найдите следующую строку:
и замените ее на:
Не рекомендуется делать это, если на хостинге не задан данный параметр. Даже при установленном значении Off вы все равно можете использовать в PHP функцию addslashes() , чтобы добавлять слэши для конкретных частей данных,.
c) Использование глобальных переменных
Ряд старых скриптов при выполнении исходят из того, что все данные, отправляемые через форму, будут автоматически иметь переменную PHP с тем же именем. Например, если в форме есть поле для ввода с именем " something ", старые скрипты PHP исходят из того, что PHP-процессор автоматически создаст переменную с именем $something , которая содержит значение, заданное через это поле.
Если вы используете такие скрипты, нужно найти следующую строку:
и изменить ее на:
Предупреждение : при установке PHP на Windows не делайте этого, если у вас нет сторонних скриптов, для работы которых это необходимо. При написании новых скриптов лучше всегда исходить из того, что для элемента register_globals установлено значение " Off ".
d) Отображение ошибок
На « живом » сайте ошибки в скрипте обычно регистрируются без отображения в файле ошибок PHP . Но на локальной машине, пока вы тестируете и отлаживаете PHP-скрипт более удобно отправлять сообщения об ошибках при их выявлении прямо в окно браузера. Так вы не пропустите ошибки, даже если забудете проверить файл журнала ошибок.
Чтобы PHP отображал сообщения об ошибках прямо в окне браузера, найдите следующую строку:
и измените ее на:
Для этого параметра на работающем сайте всегда должно быть установлено значение Off .
Если скрипт использует сессии, найдите следующую строку:
session.save_path задает папку, в которой PHP сохраняет файлы сессии. Поскольку папка /tmp в Windows не существует, то нужно установить другую папку. Один из способов - создать папку с именем c:tmp ( как ранее мы создали c:php ) и указать для этого параметра данную папку. Если сделаете это, измените данную строку следующим образом:
Обратите внимание, что в дополнение к изменению пути я также удалил из строки префикс точки с запятой (";") .
Также можно использовать текущую папку TEMP на своем компьютере. Или создайте папку tmp в каталоге PHP , например c:phptmp и соответствующим образом настройте файл конфигурации. Возможных вариантов может быть много. Если вы не можете решить, какой из них выбрать, просто создайте c:php и сделайте, как я сказал выше.
При установке PHP 5 5 если скрипт использует функцию mail() , и нужно, чтобы функция успешно отправляла почту на локальном компьютере, найдите следующий раздел:
Измените его, указав адрес вашего SMTP-сервера и учетную запись электронной почты. Например, если ваш SMTP-сервер mail.example.com , а адрес электронной почты youremail@example.com , измените код так:
Обратите внимание, что после этого, когда скрипт попытается использовать функцию 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 :
Если вы используете Apache 2.0.x , добавьте следующую строку после всех операторов LoadModule :
Если вы используете Apache 2.2.x , добавьте следующую строку:
Обратите внимание, что в этом примере установки PHP используется символ прямой косой черты ( «/» ) вместо традиционной обратной косой черты Windows («») . Это не опечатка.
Если вы используете Apache 1.x , найдите серию операторов « AddModule » и добавьте после всех строк следующую.
Затем найдите в файле блок AddType и добавьте приведенную ниже строку после последнего оператора AddType . Это нужно сделать независимо от того, какую версию Apache вы используете. Для Apache 2.2.x нужно найти строки AddType в разделе <IfModule mime_module>. Добавьте строку непосредственно перед закрытием </ IfModule> для этого раздела.
Если необходима поддержка других типов файлов, например « .phtml », добавьте их в список, например, так:
Тем, кто использует одну из версий Apache 2 , нужно указать местоположение ini-файла PHP . Добавьте следующую строку в конец httpd.conf .
Если вы использовали другой каталог, нужно будет изменить 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 , убедитесь, что строка расположена до закрытия </ IfModule> для раздела <IfModule alias_module>.
Обратите внимание : если вы установили PHP в другом месте, например c:Program Filesphp , нужно указать соответствующий путь вместо c:/php/ (например, c:Program Filesphp) . Не забудьте, что здесь мы используем простую косую черту ( «/» ) вместо обратной косой черты Windows ( «» ).
Apache нужно настроить MIME тип PHP . Найдите блок комментариев AddType , поясняющий его использование, и добавьте следующую строку ниже него. Для Apache 2.2.x найдите строки AddType в разделе <IfModule mime_module>. Добавьте приведенную ниже строку непосредственно перед закрытием </IfModule> для этого раздела.
Как и в случае установки PHP в качестве модуля Apache , можно добавить любые расширения, чтобы Apache распознавал их как скрипты PHP , например:
Затем вам нужно указать серверу выполнять исполняемый файл PHP каждый раз, когда он встречает скрипт PHP . Добавьте в файл следующий код, например, после блока комментариев, поясняющих " Action ".
Если вы используете Apache 2.2.x , то добавьте код сразу после инструкции AddType , описанной выше; в Apache 2.2.x нет блока комментариев " Action ".
Примечание : часть «/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 :
Добавьте приведенные ниже строки сразу после раздела, который только что нашли.
c) Настройка индексной страницы по умолчанию
Этот раздел относится к варианту установки PHP на Windows в качестве модуля Apache , так и двоичного CGI .
Если вы создаете файл index.php и хотите, чтобы Apache загружал его как главную страницу сайта, придется добавить еще одну строку в файл httpd.conf . Найдите строку, которая начинается с « DirectoryIndex », и добавьте « index.php » в список файлов. Например, если у вас был такой код:
измените его на:
При следующем входе на веб-сервер через имя каталога, например « localhost » или « localhost/directory/ », Apache отправит все скрипты из index.php или содержимое файла index.html , если index.php недоступен.
Перезапустите веб-сервер ApacheПерезагрузите сервер Apache . Это необходимо, чтобы Apache считал новые директивы конфигурации PHP , которые вы поместили в файл httpd.conf . Сервер Apache 2.2 можно перезапустить, дважды кликнув по иконке Apache Service Monitor в панели задач и нажав в появившемся окне кнопку « Перезапустить ».
Тестирование установки PHPПосле установки PHP 5 5 или другой версии языка создайте php-файл со следующей строкой:
Сохраните в каталог Apache htdocs файл с именем test.php . Если используете « Блокнот », не забудьте сохранить имя « test.php » с кавычками. Иначе программа самостоятельно добавит расширение .txt .
Откройте данный файл в браузере, введя в адресную строку « localhost / test.php » ( без кавычек ). Не открывайте файл напрямую через проводник - вы увидите только код, введенный ранее. Вам нужно использовать указанный выше URL-адрес , чтобы браузер попытался получить доступ к веб-серверу Apache , который запускает PHP для интерпретации скрипта.
Если все пройдет успешно, вы увидите страницу с информацией о настройке PHP . Поздравляю - вы успешно установили PHP и настроили Apache для работы с ним. Вы можете загрузить этот же файл test.php на свой хостинг и запустить его там, чтобы узнать, как хостинг настроил PHP у себя, и попытаться воспроизвести эти настройки на своей машине.
Если это не сработает, проверьте, не выдает ли установка PHP или установка Apache ошибок. Для этого откройте окно командной строки и запустите php-cgi.exe для файла test.php , например, c:phpphp-cgi test.php .
Если вы вызвали PHP из командной строки и увидели большой HTML-файл со всей информацией о конфигурации PHP , значит, PHP настроен правильно. Вероятно, проблема связана с конфигурацией Apache . Убедитесь, что вы перезапустили Apache после внесения изменений в конфигурацию и что вы правильно настроили веб-сервер.
Изучение PHPПолное справочное руководство по установке PHP можно найти на официальном сайте технологии. Его можно посмотреть онлайн или загрузить для изучения в автономном режиме.
Хорошего всем дня!
Дайте знать, что вы думаете по данной теме в комментариях. Мы очень благодарим вас за ваши комментарии, отклики, подписки, лайки, дизлайки!