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

web - tec / PHP 5 для начинающи

.pdf
Скачиваний:
69
Добавлен:
12.06.2015
Размер:
26.79 Mб
Скачать

Установка и использование PHP 53

Запуск или перезапуск Apache

Чтобы проверить, запущен ли Apache, необходимо снова вернуться в окно “Службы” и проверить состояние службы httpd. Если она не запущена, то ее следует

запустить. Работу сервера можно проверить, открыв в браузере тестовую страницу http://localhost. Если все работает (а также если в ваши планы не входит изуче+ ние Windows+инсталляции PHP), то можно перейти к разделу ‘‘Тестирование и устра+ нение неисправностей’’, чтобы проверить работу PHP.

На большинстве Web+хостинговых серверов используются какие+нибудь версии Linux, например, Debian или RedHat, либо FreeBSD или другой клон Unix. Для таких машин предпочтительным Web+сервером является Apache. PHP совместим с Linux и Apache, поэтому его можно устанавливать и конфигурировать на этих системах. Од+ нако если разработчик не владеет Web+хостинговым компьютером, то, скорее всего, контролировать установку и настройку PHP он не сможет. В такой ситуации (например, работая над существующим Web+сайтом, размещенным на чужом сервере) можно просто получить информацию об операционной системе, программном обес+ печении Web+сервера и версии PHP, для того чтобы знать, как справиться с пробле+ мами, возникающими при разработке PHP+программ.

Установка PHP 5 на Windows 2000/Internet Information Server 5

Прежде чем начинать процесс установки, следует кратко рассмотреть IIS+сервер. Если он был соответствующим образом установлен с использованием параметров по

умолчанию, то, скорее всего, он уже работает. Убедиться в том, что IIS в данный мо+ мент работает, можно, нажав Пуск Программы Администрирование Службы (Start

Programs Administrative Tools Services) и найдя в перечне службу Веб+публикации

(World Wide Web Publishing). Если эта служба не запущена, то ее следует запустить. Если нужно установить IIS, то перейдите к пункту Настройка Панель управления

(Settings Control Panel) и откройте окно Установка и удаление программ (Add/Remove Programs). Затем щелкните на кнопке Компоненты, чтобы отобразить список доступных

для установки в Windows 2000 компонентов, в число которых входит Internet Information Server. Выберите IIS и щелкните на кнопке Состав (Details), чтобы просмотреть все дос+ тупные для установки службы (такие как FTP, SMTP и т.д.). После этого следует выбрать любые необходимые службы, в частности обязательно должна быть выбрана служба Веб+ публикации, и нажать кнопку Готово. В результате IIS будет установлен и запущен.

Можно исследовать инсталляцию IIS, открыв его документацию в браузере; для этого в адресной строке необходимо набрать URL http://localhost/iisHelp. Должна появится страница наподобие представленной на рис. 1.11, которая демонст+ рирует работу IIS на Windows 2000.

Чтобы рассмотреть конфигурацию IIS, можно воспользоваться консолью управ+

ления IIS (Internet Service Manager). Для этого необходимо нажать кнопку Пуск и вы+ брать пункты Программы Администрирование Internet Services Manager. В окне

Консоли управления Microsoft (Microsoft Management Console ++++++ MMC) появится пункт IIS (рис. 1.12).

Консоль MMC обеспечивает простой способ изучения и управления службами, представленными IIS, а также настроенными в нем Web+ и FTP+сайтами. На рис. 1.13 показана иерархия стандартной инсталляции IIS.

54 Глава 1

Рис. 1.11.

Рис. 1.12.

Установка и использование PHP 55

Рис. 1.13.

Чтобы установить PHP, необходимо отключить службы IIS, а затем после некото+

рых изменений перезапустить их. Для этого нужно щелкнуть правой кнопкой мыши на пункте Веб-узел по умолчанию (Default Web site) и выбрать пункт Остановить кон+

текстного меню. После того как инсталляция PHP будет завершена, можно будет сно+ ва включить Web+сервер, а пока можно закрыть консоль для управления IIS.

Загрузка дистрибутива PHP 5

Получить наиболее свежую версию PHP 5 можно на сайте www.php.net в разделе ‘‘Downloads’’, который показан на рис. 1.14 (внешний вид этого раздела со временем может измениться).

Загрузите бинарный файл Windows+инсталляции (в zip+архиве), поместите его в ка+ кой+либо заранее созданный каталог (например, C:\PHP5RC01) жесткого диска, а за+

тем разархивируйте. В результате в каталоге PHP5RC01 должна образоваться иерар+ хия, показанная на рис. 1.15 (как она выглядит в окне Проводника Windows).

Имена файлов со временем могут измениться, но рассматриваемая в данной книге версия PHP 5 весьма близка к окончательному выпуску, поэтому инсталляция PHP 5 должна работать так же, как здесь описано. И хотя Windows инсталлируется чаще все+ го на диск C:, книжная версия установлена на диске D:. Читателю, возможно, придется изменить некоторые пути с тем, чтобы использовать диск C: (или другой диск, на кото+ ром установлена Windows), для того чтобы PHP+инсталляция работала корректно.

56 Глава 1

Рис. 1.14.

Рис. 1.15.

Установка и использование PHP 57

Теперь созданный для инсталляции PHP каталог (в данном случае PHP5RC01) со+ держит несколько подкаталогов и несколько текстовых файлов, программный файл php.exe, который фактически и будет использоваться, а также файл библиотеки php5ts.dll (в подкаталоге dev). Этот dll+файл необходимо скопировать в каталог D:\WINNT\System32 (заменив D: корректной буквой диска на используемой маши+ не). Кроме того, необходимо скопировать остальные dll+файлы в тот же каталог. Если Windows выдаст сообщение о том, что тот или иной файл уже имеется в системе, то следует оставить старый файл, не заменяя его только что загруженным.

Если копировать все dll+файлы в каталог System32 нежелательно и PHP инсталли+ руется как SAPI (как и в данной книге), то для этих файлов можно создать другой каталог и изменить соответствующим образом системную переменную PATH. Системная пе+ ременная PATH содержит список каталогов (путей), в которых Windows ищет необ+ ходимые для работы программ файлы, например, dll+файлы. Если, предположим, для dll+файлов PHP пользователь создал каталог C:\php5\dlls, то в эту переменную не+ обходимо записать строку C:\php5\dlls, после чего содержащиеся в нем файлы

будут использоваться системой. Чтобы установить переменную PATH, необходимо на+ жать кнопку Пуск, выбрать пункты Панель управления Система Дополнительно Переменные среды (Control Panel System Advanced Environment Variables), а за+

тем найти и задать необходимое значение переменной PATH).

php.ini и расширения

Как уже отмечалось ранее, файл php.ini содержит инструкции, которые обрабаты+ ваются во время запуска PHP, по установке конфигурационных параметров PHP и за+ грузке определенных расширений. Конфигурационные установки подобны выключате+ лям ++++++ они включают или отключают различные режимы работы PHP. Расширения предоставляют дополнительные или усовершенствованные встроенные возможности PHP.

Вкорне созданного для PHP каталога должны находиться файлы php.ini-dist

иphp.ini-recommended. Файл php.ini-dist следует скопировать в каталог D:\WINNT (используя соответствующую букву диска), переименовать его в php.ini, а затем от+ крыть в Notepad. В этом файле необходимо найти строки наподобие следующих:

extension_dir = C:\php\extensions ; directory in which the loadable extensions (modules) reside

Убедитесь, что данный путь соответствует пути к каталогу расширений разархиви+ рованного дистрибутива PHP 5. Если это не так, то его следует соответствующим об+ разом изменить (задать путь к каталогу ext в разархивированном каталоге PHP). В ката+ логе расширений содержится множество файлов, имена которых начинаются с php_

изаканчиваются на .dll.

Вследующем разделе файла php.ini задаются расширения, загружаемые PHP. Расширения, которые указаны в строках, начинающихся с точки с запятой, не загру+ жаются ++++++ точка с запятой в начале директивы означает, что PHP игнорирует данную директиву. Следует удалить точку с запятой из строки extension=php_gd.dll, так чтобы текст файла выглядел примерно следующим образом:

;extension=php-filepro.dll extension=php-gd.dll ;extension=php_mssql.dll

Это даст доступ к функциональности библиотеки GD, которая позволяет генерировать изображения в PHP+программах (подробнее данная тема рассматривается в главе 16, ‘‘Генерирование графики’’). Модифицированный файл php.ini следует сохранить.

58 Глава 1

Теперь снова следует запустить консоль для управления IIS ++++++ Пуск Программы Администрирование Internet Services Manager и открыть иерархию служб. Затем,

щелкнув правой клавишей мыши на пункте Веб+узел по умолчанию (Default Web Site), выберите пункт Свойства (Properties) (рис. 1.16).

Рис. 1.16.

Здесь следует внести два изменения. Во+первых, необходимо зарегистрировать ISAPI+фильтр PHP 5, поскольку планируется установить PHP с его собственным SAPI+

интерфейсом, а не как CGI+программу. Выберите вкладку Фильтры ISAPI (ISAPI Filters). Нажмите на кнопку Добавить (Add) и создайте новый фильтр, который называется PHP.

В подкаталоге sapi дистрибутива PHP содержится файл php5isapi.dll ++++++ ISAPI+ фильтр PHP. В появившемся диалоговом окне необходимо указать корректный путь к данному файлу, (рис. 1.17).

Во+вторых, нужно определить, к каким файлам IIS будет применять PHP5 фильтр.

IIS должен интерпретировать все файлы, имеющие расширение .php, как PHP+ программы. Во вкладке Домашний каталог (Home Directory) нажмите кнопку Настройка (Configuration). В следующем диалоговом окне нажмите кнопку Добавить. В результате на экране появится диалоговое окно Добавление или изменение сопос-

тавления расширений (рис. 1.18).

Нажмите кнопку Обзор (Browse) и укажите путь к файлу php5isapi.dll. В поле Расширение (Extension) необходимо ввести .php, указав таким образом, что IIS должен

применять данный фильтр к .php+файлам. Дважды нажмите OK. Теперь необходимо перезапустить IIS. Закройте диалоговое окно Свойства, щелкните правой кнопкой мы+ ши на пункте Веб-узел по умолчаниюи выберите в контекстном меню пункт Пуск(Start).

Установка и использование PHP 59

Рис. 1.17.

Рис. 1.18.

60 Глава 1

Если MMC+консоль сообщила о том, что служба Web+публикаций запустилась ус+ пешно, то PHP 5 установлен. Необходимо запомнить имя корневого каталога Web+ сайта (в данном случае ++++++ C:\Inetpub\wwwroot).

Создайте в каталоге wwwroot какой+либо подкаталог. Назвать его можно как угод+ но (желательно, чтобы имя было понятным). Затем в каталог следует поместить файлы с расширением .php. Когда браузер будет запрашивать эти файлы, они будут обраба+ тываться посредством PHP+машины.

Теперь можно открыть текстовый редактор и создать текстовый файл, содержа+ щий следующий код:

<?php

phpinfo();

?>

Созданный файл можно сохранить с именем test01.php (или любым другим именем, но с расширением .php) в только что созданном подкаталоге каталога wwwroot. Чтобы открыть данный файл в браузере, введите в адресной строке адрес http://localhost плюс имя его каталога, а также имя самого файла, например, так: http://localhost/php_file/myfile.php). В браузере должна появиться страни+ ца наподобие страницы, показанной на рис. 1.19 (хотя номер версии PHP может не+ сколько отличаться, если вы используете более свежий выпуск PHP).

Если это так, то все работает. Если же нет, обратитесь к следующему разделу.

Рис. 1.19.

Установка и использование PHP 61

Тестирование и устранение неисправностей

Протестировать инсталляцию PHP несложно. Следует начать с написания и запус+ ка небольшой PHP+программы. Создается небольшой тестовый PHP+файл, например, со следующим кодом:

<?php

echo "Ура, заработало!"; ?>

Созданный файл необходимо сохранить в любом подкаталоге каталога wwwroot (или в соответствующем каталоге, если используется не Windows 2000/IIS, а другая комбинация операционная система/Web+сервер).

Затем следует открыть данный файл в браузере. В результате этого в браузере должны появиться слова: ‘‘Ура, заработало!’’. Если вместо них появляется ошибка ‘‘Невозможно отобразить страницу’’ (‘‘Page cannot be displayed’’), то либо проблема в инсталляции PHP, либо система не может найти файл, либо в конфигурации Web+сервера есть ошибка. Если в Web+браузере появляется сообщение о синтаксической ошибке (parse error), то, возможно, при вводе кода была допущена опечатка. Ошибки в коде под+ робнее рассматриваются в нескольких последующих главах, а здесь описаны некото+ рые пути устранения неисправностей в базовой инсталляции PHP.

Работает ли тестовый файл? Или вы читаете данный раздел именно потому, что он не работал? Беспокоиться не стоит. Осваивая что+нибудь новое, человек неизбежно сталкивается с весьма распространенными проблемами, это особенно верно, когда речь идет о компьютерах и программировании. Фактически, ошибки в данном случае мож+ но считать удачей, поскольку они стимулируют освоение PHP и программирования.

Устранение неисправностей и отладка включают в себя процесс идентификации проблем, отслеживания возможных причин, логической изоляции этих причин до тех пор, пока не будет найден наиболее вероятный источник проблемы, и последую+ щих попыток найти решение. Конечный результат заключается в том, что проблема исправлена. Если программист хорошо выполнил свою работу, то проблема будет ис+ правлена (изящно и надежно), и это не вызовет других проблем. (В главе 5 отладка программ рассматривается более подробно.)

Процесс устранения неисправностей инсталляции PHP можно разбить на такие этапы:

1. Необходимо проверить, запущен ли сервер и правильно ли он работает. В Win+ dows 2000 это можно сделать, проверив службы (Пуск Программы Администри-

рование Службы (Start Programs Administrative Tools Services)), особенно службы Internet+администрирования и службу Веб+публикаций. Только тот факт, что они настроены на автоматическую работу, не означает, что они включе+ ны. Чтобы подстраховаться, их можно остановить и перезапустить снова. Кроме того, можно проверить (в консоли управления IIS), работает ли Web+ сервер с Веб+узлом по умолчанию. В случае Apache и Linux необходимо прове+ рить httpd+службу (это также можно сделать путем ввода http://localhost

вадресную строку браузера).

2.Можно поместить простой HTML+файл в каталог wwwroot, убедившись, что он имеет расширение .htm или .html (например, test01.htm), и вызвать его

вбраузере. При этом следует убедиться, что в адресной строке используется URL

62Глава 1

http://localhost/test01.htm, а не путь к файлу (например, D:\inetpub\ wwwroot\test01.htm).

3.Если HTML+страница отображается правильно, значит можно быть уверенным, что Web+сервер функционирует. Это означает (предположим, что не отобра+ жаются PHP+страницы), что проблема заключается в инсталляции PHP. Если появляются другие сообщения (такие как 404 Файл не найден (404 Page Not Found)), то весьма вероятно, что система просто не может найти данный файл, поэтому необходимо еще раз проверить имя файла, имя Web+каталога и т.д.

4.Если проблема предположительно заключается в инсталляции PHP, то следует еще раз проверить процесс установки, тщательно отработать каждый этап и убе+ диться, что все файлы PHP расположены в соответствующих каталогах. Особое внимание необходимо уделить именам системных каталогов, поскольку они мо+ гут отличаться в зависимости от операционной системы Windows или Linux.

5.Следует проверить права доступа к файлам. Права доступа очень важны в Linux+ системах и в меньшей степени ++++++ в Windows 2000 или настольных версиях Windows. Можно зарегистрироваться в системе как root или администратор в Linux или Windows и попытаться изменить права доступа для запуска сценариев из катало+ гов Web+сервера. В случае использования внешнего хостинга изменить права дос+ тупа на Linux+системах можно при помощи любой хорошей FTP+утилиты.

Данные этапы помогут локализовать проблему и подсказать возможное решение.

Конфигурирование PHP

В ходе инсталляции, для того чтобы повлиять на работу PHP и его функций, мо+ дифицировался файл php.ini. В Приложении Е ‘‘Конфигурация PHP5’’ данной кни+ ги обсуждаются основные установки в файле php.ini, а также некоторые доступные для PHP расширения. Наиболее важные конфигурационные параметры и расшире+ ния PHP рассматриваются в данном разделе.

Файл php.ini

Файл php.ini анализируется при первой загрузке и запуске PHP, для того чтобы задать определенный режим работы PHP (для любого сценария, выполняемого на Web+сервере). Все строки, в начале которых нет точки с запятой, являются действую+ щими командами; все остальное в данном файле следует рассматривать как коммента+ рии. Ниже приведен текст нескольких разделов файла php.ini-recommended. Пока+ занные установки важны потому, что они непосредственно влияют на то, как работает PHP (в обычных обстоятельствах), они также могут повлиять на код или безопасность разрабатываемых приложений.

;;;;;;;;;;;;;;;;;;;;;;;;

; Ограничения ресурсов ;

;;;;;;;;;;;;;;;;;;;;;;;;

max_execution_time = 30 ; Максимально возможное время выполнения

;

сценария в секундах.

max_input_time = 60

; Максимально возможное время

;

синтаксического анализа данных запроса

memory_limit = 8M

; Максимальный объем памяти, выделяемый

;

сценарию (8MB)

Соседние файлы в папке web - tec