|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>PHP. Шаг за шагом.</title>
<meta content="text/html; charset=Windows-1251" http-equiv=Content-Type>
</head>
<LINK REL=STYLESHEET HREF="php.css" TYPE="text/css">
<body text=black bgcolor=white link=blue vlink=blue alink=red>
<center>
<a name="top">
<TABLE borderColor=#000000 cellSpacing=1 cellPadding=1 width=600 border=0 align="center">
<tr><td>
<tr><td>
<h1>ШАГ 2. Установка</h1>
<p>Во первых строках своего письма хочу сообщить, что хотя инсталяция PHP - дело
совсем не хитрое и по крайней мере линуксоиды, отличающиеся умом и
сообразительностью ;-) , а так же уменем вникать в тексты документации на
любом языке, с этим делом справляются на р-р-р-р-аз, у виндозистов зачастую
возникают странные, на мой взгляд, вопросы. В таком случае целесообразно всетаки
рассмотреть инсталяцию PHP, но только под windos. Сразу предупрежу, что способов
работы с php существует несколько и я не буду здесь описывать каждый из них, а
лишь один и самый простой, на мой взгляд. Также учтите и то, что этот способ не
является безопасным (всмысле вашего сервера, читайте <code>security.shtml</code> в мануале от PHP), да и о какой
безопасности под виндами может идти речь. Хотя линчо у меня на моей WindowsNT
стоят Apache, MySQL и PHP - они естественно используются лишь для отладки
скриптов, перед выкладыванием их на сервер и эта комбинация не является
полноценным вебсервером, поэтому к неу нет доступа извне. Зато очень даже здорово
отлаживать скрипты и дизайн, таким образом, всем рекомендую. </p><p>Начнем с того, что
вам не стоит скачивать и компилировать PHP из исходного кода, это лишнее.
Возьмите готовый дистрибутив (у меня он назывался <code>php-3.0.11-win32.zip</code>) и просто
скопируйте все файлы туда, где вы хотите содержать php (лично у меня это
<code>c:/php3/</code>). Пол дела сделанно! Кстати, кроме самого дестрибутива, вам
понадобится еще и документация, валяющаяся на том же сервере (
<A href="http://www.php.net/docs.php3">список</A>,
<A href="http://www.php.net/distributions/manual.zip">html-вариант</A>).</p><p>Идем дальше. Теперь в
первую очередь вам необходимо отредактировать файл php3.ini (оригинал
php3.ini-dist). Измените в нем праметр <code>extension_dir=<путь где лежит ваш PHP3
со всеми модулями></code> (у меня, как говорилось это <code>c:/ php3/</code>), а также
уберите коментарии со строк <code>extension=</code> с теми модулями, которые вам будут
необходимы (если вы не просекаете и смысл, значит вам они не нужны). И все!
Теперь поместите этот файл (<code>php3.ini</code>) в корневой каталог вашей windows
(<code>c:\windows</code> обычно). Собственно сам php3 - готов. Что-бы проверить его работу -
создайте файл со следующим содержимым:
<div class=code><? <BR>
echo "Список файлов\n";<BR>
$dir = dir(".");<BR>
while($file = $dir->read())<BR>
echo "$file\n"; <BR>
$dir->close();<BR>
?>
</div>
<p>и запустите его так <code><путь
к вашему php>/php.exe -q <имя файла></code>. Для особо талантливых обьясняю
подробнее. Если вы поместили все файлы из дистрибутива php в каталог <code>c:/php3/</code>, а
созданный вами файл с вышеописанным скриптом называется </code>test.php</code> то запустить
его вам нужно будет так:</p>
<div class=code>c:/php3/php.exe -q test.php</div>
<p>Этот скрипт должен вывести список файлов в текущем каталоге.</p>
<p>Следующий шаг - конфигурирование вебсервера для работы с PHP. Если вы используете IIS - ваши
проблемы ;) (используйте файл <code>php_iis_reg.inf</code> в поставке PHP3), если вы
используете apache, то сейчас я вам помогу. </p><p>Вообще идеология обработки
php-сценариев сервером очень проста. Есть такое понятие как <code>mime тип файла</code>,
который определяется по расширению, гляньте в файл <code>mime.types</code> и вы сами, надеюсь,
все поймете. Файл имеет простой формат: <code><тип файла> <расширение
файла></code>. Вот мы и вставим в него следующие три строчки:</p>
<div class=code>
application/x-httpd-php3 php <BR>
application/x-httpd-php3 php3<BR>
application/x-httpd-php3 phtml
</div>
<p>Что мы этим имеем ввиду? Что файлы с
расширением <code>php, php3 и phtml</code> являются приложением (<code>application</code>) типа
<code>x-httpd-php3</code> (а можете и сами название этого типа придумать, дальше поймете
зачем это вообще нужно). Есть, к стати, и второй вариант прописывания mime
типов, напрямую в <code>httpd.conf</code> вот так:</p>
<div class=code>
AddType application/x-httpd-php3 .php<BR>
AddType application/x-httpd-php3 .php3<BR>
AddType application/x-httpd-php3 .phtml<BR>
</div>
<p>После того. Как мы покончили с определнием
типов (и все знают этих типов). Нам осталось добавить в httpd.conf всего одну
строчку для запуска этих сценариев. Вот эту: <code>Action application/x-httpd-php3 <путь и имя php транслятора></code>
Которая означает, что для файлов типа application/x-httpd-php3 запускать указанную вами прогу. у меня под win эта
строчка выглядит так:</p>
<div class=code>Action application/x-httpd-php3 /cgi-bin/php.exe</div>
<p>То есть я положил сам <code>php.exe</code> в директорию прописанную как <code>/cgi-bin/</code> и не
мучался (добавить три лишние строки) с прописыванием разрешения на запуск из
собствненой директории php.</p><p>Собственно вот и все. Запускайте ваш вебсервер и
пробуйте скрипты из архива с документацией от php или описанные мной. Если у вас
все таки что-то неработает - смотрите логи от вебсервера.</p>
<ol start=1>
Опишу в кратце еще раз все необходимые действия:
<li class=m>скопировать php дистрибутив в выранную вами директорию;
<li class=m>соответсвенное конфигурирование php3.ini (добвление этой самой директории) и помещение его в директорию windows;
<li class=m>добавление новых mime типов для распознавания документов, содержащих сценарии php;
<li class=m>сообщение серверу что делать с документами этих типов (запускать для них php.exe)</li>
</ol>
<br>
<p>Все. Удачной вам работы и с Новым Годом!</p>
</td></tr>
<tr><td id="menu" class=menu>
<center><a href=#top class=menu>ВВЕРХ</a></center><br>
<center><a href=php1.html class=menu><<<предыдущий шаг</a>
<a href=php3.html class=menu>следующий шаг>>></a>
</center></td></tr>
</TABLE>
</div>
</body>
</html>