Урок 6: Установка и настройка интерпретатора PHP

Замечания

Версия программы, использовавшейся при написании материала, уже успела устареть, поэтому некоторые моменты могут незначительно отличаться.

Установить PHP не просто, а очень просто. Настраиваться PHP будет для совместной работы с веб-сервером Apache, установка которого описана в этом уроке.

Для начала необходимо скачать последнюю стабильную версию PHP. Для этого идем на официальную страницу загрузки http://windows.php.net/download/ и скачиваем редакцию "VC9 x86 Thread Safe" в виде ZIP-архива. В моем случае файл назывался php-5.3.4-Win32-VC9-x86.zip. Данная сборка интерпретатора не требует установки, ее лишь нужно распаковать в определенное место. Распакуйте архив в корень диска C, появившуюся папку (у меня она называлась php-5.3.4-Win32-VC9-x86) переименуйте в php. В итоге PHP у вас будет находиться в C:\php.

Для работы данной сборки PHP необходим пакет "Microsoft Visual C++ 2008 Redistributable" (во всяком случае, в Windows XP SP3 потребовался, если у вас более свежая версия Windows, попробуйте сначала данный пакет не устанавливать), его находим на официальном сайте Майкрософта, воспользовавшись поиском по имени пакета. Файл называется vcredist_x86.exe.

В папке C:\php есть два файла: php.ini-development и php.ini-production. Эти файлы — примеры конфигурационных файлов PHP. Сделайте копию файла php.ini-production под именем php.ini — это будет вашим основным конфигурационным файлом.

Далее необходимо связать веб-сервер Apache с PHP. Открываем конфиг Apache C:\Program Files\Apache\conf\httpd.conf (напоминаю, что мы работаем с веб-сервером, настроенным по этому материалу), после строк:

LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so

добавляем

PhpIniDir "C:/php"
LoadModule php5_module "C:/php/php5apache2_2.dll"
AddHandler application/x-httpd-php .php

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

Найдите также в конфиге блок

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

и приведите его к следующему виду:

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

В этом случае при отсутствии в HTTP-запросе имени файла Apache будет искать не только индексный файл index.html, но и index.php.

Перезагрузите веб-сервер. Если сервис не запустился, то где-то допущена ошибка, отписывайтесь в комментариях, будем разбираться.

В одном из корневых каталогов веб-сервера создайте файл index.php со следующим содержимым:

<?php
 
  phpinfo();
 
?>

phpinfo — это системная PHP-функция, выводящая различную информацию об интерпретаторе: настройки, текущие значения системных переменных и т.д. Если все настроено правильно, то при запросе вы должны увидеть вот такую страницу:

Комментарии

Оставить комментарий »

 
Joker-jar
30 сентября 2011, 12:03
#21
 

Ну вот и отлично :)

Максим
23 января 2012, 8:45
#22
 

Здравствуйте! Подскажите пожалуйста, как сменить одну версию php на другую на хостинге. Заранее благодарен.

Игорь
24 января 2012, 21:54
#23
 

Здравствуйте! Подскажите пожалуйста, после того как я устанавливаю PHP на сервер в броузере у меня не находит ни одной странички сервере.В чём может быть проблема ?

Сергей
23 февраля 2012, 11:24
#24
 

Здравствуйте.
Ошибка "File does not exist: C:/Program Files/Apache/htdocs/test-domain1/www/favicon.ico". Посоветуйте пожалуйста, что предпринять.

Joker-jar
23 февраля 2012, 13:00
#25
 

Сергей, можете либо создать иконку для своего сайта и расположить ее по этому пути, либо просто подавить появление этого сообщение. Как это сделать я описывал в этой заметке.

Константин
23 мая 2012, 13:31
#26
 

Вот вы тут описали у вас так все просто оказываеться и работает еще, но на самом деле не все так просто и по вашему описанию ни хера не работает!

Joker-jar
24 мая 2012, 1:01
#27
 

Константин, а конкретнее? Где проблема?

Konstantin
23 июля 2012, 20:38
#28
 

Спасибо! Все получилось с первого раза.

Nikola
8 октября 2012, 16:59
#29
 

При перезагрузке веб-сервер пишет

The requested operation has failed!
Joker-jar
9 октября 2012, 14:04
#30
 

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

Оставить комментарий

Ваше имя
 
Ваш e-mail
 
Комментарий