Как установить и настроить 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

Если для short_open_tag задано значение off, теги типа «<?» не будут считаться открывающими тегами для PHP-кода . В таком случае, чтобы начать PHP-скрипт , необходимо будет скомпоновать скрипт с открывающим тегом типа «<?php».

Так как многие сторонние PHP-скрипты используют формат «<?», установка для этого параметры значения 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() , и необходимо, чтобы функцию успешно отправляла почту на локальном компьютере, найдите следующий раздел:

[mail function]; For Win32 only.SMTP = localhostsmtp_port = 25; For Win32 only.;sendmail_from = me@example.com

Измените его, указав адрес SMTP-сервера и учетную запись электронной почты. К примеру, если SMTP-сервер mail.example.com , а адрес электронной почты youremail@example.com , измените код так:

[mail function]SMTP = mail.example.comsmtp_port = 25sendmail_from = 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 :

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 в разделе <IfModule mime_module>. Добавьте строку непосредственно перед закрытием </ IfModule> для этого раздела.

AddType application/x-httpd-php .php

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

AddType application/x-httpd-php .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 , убедитесь, что строка расположена до закрытия </ IfModule> для раздела <IfModule alias_module>.

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

ScriptAlias /php/ "c:/php/"

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

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 :

<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin">AllowOverride NoneOptions NoneOrder allow,denyAllow from all</Directory>

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

<Directory "C:/php">AllowOverride NoneOptions NoneOrder allow,denyAllow from all</Directory>

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

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

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

DirectoryIndex index.html

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

DirectoryIndex index.php index.html

При следующем входе на веб-сервер через имя каталога, к примеру «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-файл со следующей строкой:

<?php phpinfo(); ?>

Сохраните в каталог 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 можно без труда найти на официальном веб-сайте технологии. Его можно легко посмотреть онлайн или загрузить для изучения в автономном режиме.

Хорошего всем дня!

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *