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

Комментарии

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

 
Наталья
21 апреля 2013, 19:23
#41
 

Спасибо! Все получилось, но при создании странички на php, получаю в браузере при обращении к http://test-domain1

You don't have permission to access / on this server.

И не знаю, что с этим делать :(

Joker-jar
26 апреля 2013, 9:17
#42
 

Наталья, а как вы назвали файл с PHP-скриптом?

Joker-jar
26 апреля 2013, 9:19
#43
 

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

Олеся
19 сентября 2013, 13:48
#44
 

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

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

<?php
 
  phpinfo();
 
?>

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

Вот что-то не поняла, какой веб-сервер нужно было перезагрузить???( Все перепуталось

Olesia
19 сентября 2013, 14:22
#45
 

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

Где я должна увидеть такую страницу?
Все сделала правильно вроде....

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

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