Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Самоучитель по PHP 4

.pdf
Скачиваний:
82
Добавлен:
02.05.2014
Размер:
4.36 Mб
Скачать

Глава 4. Установка Apache

91

Не путайте файл hosts (без расширения) с файлом hosts.sam, который, ско- рее всего, также расположен в том же каталоге! Последний файл является просто демонстрационным примером Microsoft и никак не используется систе- мой. Если файла hosts не существует, его необходимо создать.

Файл hosts — обычный текстовый файл, и в него может быть заранее включена только одна строка:

127.0.0.1localhost

Именно эта строка и задает соответствие имени localhost адресу 127.0.0.1.

Ради справедливости следует сказать, что имя localhost работает и без ука- занной выше строки. Ну и выдумщики же эти парни из компании Microsoft!

Для нашего виртуального хоста надо добавить соответствующую строчку, чтобы файл выглядел так:

Листинг 4.4. Файл hosts

127.0.0.1localhost hacker

127.0.0.2cracker

Обратите внимание на то, что хост hacker описан на той же строке, что и localhost. Дело в том, что в файле hosts должны указываться только уникальные IP-адреса. Если же одному адресу сопоставляется сразу несколько хостов, то один из них (тот, который идет первым) объявляется главным, а остальные — его псевдонимами. В нашем случае localhost — главный, а hacker — его псевдоним. Apache при получении запроса на адрес 127.0.0.1 узнает, что он пришел хосту с именем hacker, и активизирует соответствующий блок <VirtualHost>.

Итак, мы создали виртуальные хосты со следующими свойствами:

Хост hacker:

rимя — hacker;

rдоступен по адресу http://hacker;

rрасположен в каталоге z:/home/hacker;

rкаталог для хранения документов — z:/home/hacker/www, доступный по адре-

су http://hacker/;

rкаталог для CGI — z:/home/hacker/cgi, доступный по адресу http://hacker/cgi/;

rфайлы журналов хранятся в z:/home/hacker.

92

Часть II. Выбор и настройка инструментария. Web-сервер Apache

Хост cracker:

rимя — cracker;

rдоступен по адресу http://cracker или http://127.0.0.2;

rразмещен в каталоге z:/home/cracker;

rкаталог для хранения документов — z:/home/cracker/www, доступен по адресу http://cracker/;

rкаталог для CGI — z:/home/cracker/cgi, доступен по адресу http://cracker/cgi/;

rфайлы журналов содержатся в z:/home/cracker.

Необходимо заметить, что главный хост (невиртуальный, тот, который мы соз- дали ранее) по-прежнему доступен по адресу http://127.0.0.1 или http://localhost. Более того, его директория cgi-bin "видна" всем суще- ствующим виртуальным хостам, так что вы можете ее использовать.

После всех изменений не забывайте перезапускать Apache.

Просто завершить сервер, нажав на кнопку Закрыть в правом верхнем углу его окна, недостаточно нужно воспользоваться пунктом Stop Apache в меню

Пуск ú Программы ú Apache Web Server ú Management. В противном случае закроется только окно Apache, а сам сервер останется работать в фоновом режиме, так что изменения, внесенные в httpd.conf, не будут активизирова- ны.

Глава 5

Установка PHP и MySQL

Давайте теперь перейдем к установке языка PHP версии 4, ради которого, собственно, мы и устанавливали сервер Apache. К сожалению, на момент написания этих строк у PHP не было нормальной setup-программы, которая могла бы установить PHP со всеми необходимыми нам модулями за один прием, как мы проделали это с Apache. Так что, возможно, его инсталляция покажется вам чуть сложнее.

Прежде всего, вам нужно запастись терпением и загрузить с официального сайта PHP http://www.php.net из секции Downloads два файла: один с расширением zip, а другой — exe. Ссылки на эти файлы находятся почти на самом верху страницы, после заголовка Win32 Binaries. Первый файл представляет собой полную версию PHP 4, но не имеет удобной программы установки, а второй, наоборот, является автоматической программой установки, но не содержит в себе наиболее часто используемых модулей.

Так было на момент написания данной книги. Возможно, в будущем разработ- чики PHP будут поставлять дистрибутив в виде одного большого exe-файла, но пока это не так.

Советую вам также скопировать полную документацию по PHP, ссылка на которую есть на странице чуть ниже. Уверен, в будущем она еще не раз вас выручит.

Стоит сказать еще пару слов насчет версии PHP. Язык постоянно совершенствуется, и на момент создания книги последней версией была 4.0.3. Скорее всего, когда вы будете читать эти строки, выйдет более новая версия — например, 4.0.10. Думаю, наилучшим решением будет загрузить ту, что поновее, потому что в ней, возможно, исправлены некоторые ошибки из предыдущих версий языка. Главное, чтобы первая цифра была 4, потому что "третий" PHP сильно проигрывает "четвертому" по количеству поддерживаемых функций.

Установка PHP

1.Запустите только что загруженный exe-файл. В открывшемся диалоговом окне нажмите кнопку Next (рис. 5.1).

94

Часть II. Выбор и настройка инструментария. Web-сервер Apache

Рис. 5.1. Установка PHP

2.Согласитесь с условиями лицензии, нажав кнопку I Agree. В появившемся диалоговом окне выберите тип установки Standard.

3.Теперь укажите директорию, в которую будет установлен PHP. По умолчанию

предлагается C:\PHP, но, думаю, логичнее было бы выбрать C:\Program Files\PHP4, "поближе" к Apache (рис. 5.2). Для указания этого каталога нажмите кнопку Browse... и введите его имя, затем нажмите, как обычно, кпопку OK и потом — Next, чтобы перейти к следующему диалоговому окну.

Рис. 5.2. Выбор каталога для установки PHP

Глава 5. Установка PHP и MySQL

95

4.Задайте адрес вашего SMTP-сервера (Send Mail Transfer Protocol — Протокол пересылки почтовой корреспонденции), а также ваш адрес электронной почты. Именно этот сервер и обратный адрес будут использованы для исходящих почтовых запросов, когда вызывается функция Mail() языка PHP. В общем, это тот самый сервер, через которого отсылает почту ваш обычный почтовый клиент — например, Outlook Express. Впрочем, можете и оставить в текстовых полях значения по умолчанию — в этом случае функция Mail() просто не будет работать на локальной машине.

5.Выберите сервер, на который будет настроен PHP. В нашем случае это — Apache (рис. 5.3).

Начнется процесс копирования файлов. После его окончания, возможно, появятся еще некоторые диалоговые окна с различными извещениями. Не обращайте на них внимания.

На этом этапе язык PHP можно считать уже почти установленным — нам осталось только настроить Apache, чтобы он мог распознать PHP-сценарии, а также подключить дополнительные модули, которые содержатся в загруженном нами zip-архиве.

Рис. 5.3. Выбор сервера

Настройка Apache для работы с PHP

1.Откройте в Блокноте файл конфигурации Apache httpd.conf, находящийся в ката-

логе C:\Program Files\Apache Group\Apache\conf. Впрочем, вы можете и не искать этот файл вручную, а воспользоваться пунктом Edit configuration в меню

Пуск ú Программы ú Apache Web Server ú Management.

2.Найдите в тексте файла такую закомментированную строку:

96

Часть II. Выбор и настройка инструментария. Web-сервер Apache

#AddType application/x-httpd-php php

3.Раскройте комментарий:

AddType application/x-httpd-php php

Таким образом, мы присвоили всем файлам с расширением php тип application/x-httpd-php.

4.Сразу же после этой строки добавьте такие настройки:

ScriptAlias /_php/ "C:/Program Files/PHP4/" Action application/x-httpd-php "/_php/php.exe"

Этим мы, во-первых, создаем синоним _php для каталога с процессором PHP, чтобы Apache мог получить к нему доступ, а во-вторых, связываем все файлы ти-

па application/x-httpd-php с обработчиком php.exe.

Префикс к строке "_php" выбран из такого расчета, чтобы она в будущем не кон- фликтовала с именами каталогов, которые вы можете объявить на вашем хосте.

5.Сохраните изменения в файле конфигурации, остановите Apache, если он был до этого запущен (пункт Пуск ú Программы ú Apache Web Server ú Management ú Stop Apache), и стартуйте сервер снова. Если Apache не запускается (его окно открывается и тут же закрывается), значит, вы где-то допустили синтаксическую ошибку. В этом случае можете воспользоваться рекомендациями по устранению ошибок, описанными в главе 4.

Тестирование PHP

Давайте теперь убедимся, что PHP-сценарии работают. Для этого создадим в каталоге z:/home/localhost/www файл test.php со следующим содержанием:

Листинг 5.1. Тестовый сценарий

<?

echo "It works!<br>\n"; phpinfo();

?>

Теперь наберите в браузере: http://localhost/test.php. Должна отобразиться страница с разнообразной информацией о PHP, которая генерируется функцией phpinfo().

Глава 5. Установка PHP и MySQL

97

Напоминаем, что PHP-сценарии не то же самое, что CGI-сценарии. В част- ности, если CGI-сценарий обычно располагают в /cgi-bin/ или /cgi/, то php-сценарий должен находиться в каталоге с документами.

Если страница не отображается, значит, вы допустили ошибку в файле httpd.conf. Откройте его снова и исправьте ошибку, затем не забудьте перезапустить Apache.

Напоминаю еще раз, что просто остановить Apache, так сказать, принудитель- ным образом нельзя необходимо воспользоваться ярлыком Stop Apache, как это было описано выше. В противном случае при использовании некоторых версий сервера закроется только окно Apache, а сам сервер останется рабо- тать.

Установка дополнительных модулей

После того как мы убедились в работоспособности PHP, нужно подключить к нему дополнительные модули, которые находятся в загруженном zip-файле. Среди них — средства для работы с рисунками, календарем, FTP (File Transfer Protocol — Протокол передачи файлов) и т. д. Нужно заметить, что архив содержит полную версию PHP, а не только модули для него. Единственная причина, почему мы не обратились к нему сразу — отсутствие удобной программы установки. Итак, для этого нужно проделать ряд действий.

1.Разверните zip-архив прямо в тот же самый каталог, где уже установлен PHP (в нашем примере это C:\Program Files\PHP4). Некоторые файлы перекроются, некоторые — добавятся. В частности, появится каталог extensions, как раз и содержащий практически все необходимые файлы.

2.Теперь нужно дать знать PHP, какие модули он может использовать, а также осуществить еще некоторые настройки. Для этого откройте в Блокноте файл php.ini из каталога с файлами Windows (обычно C:\WINDOWS). Этот файл был помещен туда программой установки PHP. Файл представляет собой набор строк, каждая из которых соответствует значению одного параметра. Части строк, расположенные после символа ;, рассматриваются как комментарии и игнорируются.

3.Найдите параметр magic_quotes_gpc и отключите его: magic_quotes_gpc=Off

Этим мы запрещаем PHP принудительно вставлять обратные слэши перед некоторыми символами, поступающими из формы. Мы еще обязательно поговорим об этом и других параметрах ближе к концу книги.

4.Теперь найдите и настройте следующий параметр:

98 Часть II. Выбор и настройка инструментария. Web-сервер Apache

extension_dir=C:\Program Files\PHP4\extensions

Здесь мы уведомляем PHP, что модули он должен искать в каталоге

C:\Program Files\PHP4\extensions, т. е. как раз там, где нужно. Обратите внимание на то, что по умолчанию в этом параметре стоит значение ./, т. е. поиск будет производиться в том же самом каталоге, где установлен PHP. Это, конечно же, неудобно.

5.Найдите "закомментированные" строки, которые начинаются с ;extension=. Вам предстоит раскрыть те из них, которые соответствуют нужным нам модулям. В этой книге описывается библиотека GD для работы с изображениями, поэтому нам обязательно понадобится модуль php_gd.dll. Поддержка MySQL и календарных функций уже встроена в PHP.

6.Не забудьте сохранить изменения в файле php.ini. Чтобы изменения вступили в силу, перезапускать Apache не нужно, ведь мы установили PHP не как модуль сервера, а как отдельную программу.

Установка MySQL

Сначала определимся: зачем же вообще нужны базы данных Web-программисту? Неужели не проще использовать обычный обмен с файлами? Ведь обычно объем данных не очень велик (если вы только не пишите поисковую систему). Наш личный опыт таков: оказывается, стоит затратить какое-то время на изучение MySQL — это удивительно мощный инструмент, который сэкономит в будущем немало часов, потраченных на отладку "вышедшего из-под контроля" сценария.

Итак, вы решили установить у себя на локальном хосте поддержку MySQL. Это довольно несложно. Что ж, приступим.

1.Для начала загрузите с официального сайта MySQL (http://www.mysql.com, раздел Downloads) дистрибутив MySQL. Рекомендую выбрать самую последнюю версию для Windows. Дистрибутив представляет собой zip-архив, который нужно развернуть в любой удобный вам каталог.

2.Запустите setup.exe из только что разархивированного дистрибутива. Нажмите кнопку Next (рис. 5.4).

3.В появившемся информационном окне снова нажмите Next. Откроется диалог с запросом о выборе каталога для MySQL. По умолчанию предлагается C:\mysql, но, мне кажется, будет удобнее использовать C:\Program Files\MySQL (рис. 5.5). Задайте этот каталог и нажмите Next.

Глава 5. Установка PHP и MySQL

99

Рис. 5.4. Установка MySQL

4.Выберите тип установки Typical. Начнется копирование файлов MySQL. Дождитесь его окончания. MySQL установлена.

Рис. 5.5. Выбор каталога для MySQL

5.Для того чтобы активизировать MySQL-сервер, запустите исполняемый файл

C:\Program Files\MySQL\bin\mysqld.exe. Можете создать для него ярлык,

однако, поскольку обычно MySQL работает "в связке" с Apache, будет логично создать командный файл, который будет стартовать и Apache, и MySQL. Назовем его server.bat и расположим в корневом каталоге диска z:. Вот содержание этого файла:

100

Часть II. Выбор и настройка инструментария. Web-сервер Apache

Листинг 5.2. Файл server.bat

@echo off

"C:\Program Files\MySQL\bin\mysqld"

start /m "C:\Program Files\Apache Group\Apache\Apache"

Для операционных систем Windows NT и Widows 2000, однако, будет удобнее использовать несколько другие команды (иначе в этих системах окно процесса MySQL будет постоянно видно на экране, что нежелательно):

@echo off

start C:\Progra~1\MySQL\bin\mysqld-nt --standalone C:\Progra~1\Apache~1\Apache\Apache -k start

Именно для приведенного командного файла лучше всего и создать ярлык, назначив ему "горячую" клавишу <Ctrl>+<Alt>+<A> (только если вы до этого связали ту же комбинацию с ярлыком Apache, не забудьте ее там отключить).

6.Перед выключением или перезагрузкой компьютера нужно завершать работу Apache и MySQL. Для этого удобнее всего создать следующий bat-файл с именем, например, shutdown.bat, расположив его в корневом каталоге диска z:.

Листинг 5.3. Файл shutdown.bat

@echo off

"C:\Program Files\Apache Group\Apache\Apache" -k shutdown "C:\Program Files\MySQL\bin\mysqladmin" -u root shutdown

Удобно также определить для этого файла ярлык и назначить ему комбинацию клавиш <Ctrl>+<Alt>+<S>.

Тестирование MySQL

Давайте теперь проверим, все ли работает. Для начала запустите наш файл server.bat, чтобы активизировать сервер. Создайте следующий PHP-сценарий с именем mysql.php в каталоге z:\home\localhost\www.

Листинг 5.4. Файл mysql.php

<?

define("DBName","test");

define("HostName","localhost");

define("UserName","root");

define("Password",""); if(!mysql_connect(HostName,UserName,Password))