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

PHP5_nachinayushim

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

44 Глава 1

хороший (и бесплатный) компилятор, который называется gnugcc. На рис. 1.2 пока+ зан Web+сайт проекта GNU, а на рис. 1.3 ++++++ фрагмент документации для GCC.

После того как компилятор установлен, можно загружать исходный файл с сайта www.php.net. Данный файл представляет собой tar+архив, сжатый gzip, поэтому его необходимо распаковать. Также можно загрузить файл .bz2, однако потребуется только один из этих файлов ++++++ либо gzip, либо .bz2.

Рис. 1.2.

Чтобы просмотреть содержимое сжатого файла, можно использовать файловый менеджер Konquerer. На рис. 1.4 показано содержимое tar+файла.

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

tar -xvzf php-5.0(остальная часть номера версии).tar.gz

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

Рис. 1.3.

Рис. 1.4.

46 Глава 1

Рис. 1.5.

Для перехода в каталог дистрибутива PHP 5 следует использовать команду cd: cd php-5.0(остальная часть номера версии)

После перехода в каталог php-5.0.0RC1 на экране появится много новых катало+ гов и файлов. Подробные инструкции, связанные с установкой, находятся в тексто+ вом файле INSTALL (рис. 1.6).

Для целей данной книги PHP устанавливается как динамический общий объект (Dynamic Shared Object ++++++ DSO), так чтобы не требовалось перекомпилировать сер+ вер Apache.

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

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

Рис. 1.6.

Проверка Apache для DSO-инсталляции

Прежде чем компилировать PHP 5 как DSO+объект, необходимо убедиться, что Apache установлен и настроен для работы с динамическими модулями. Для проверки Apache в терминале можно использовать следующую команду:

httpd -l

Должен появиться вывод наподобие вывода, показанного на рис. 1.7.

Если в выводе присутствует строка mod_so.c, то можно продолжать установку.

Запуск сонфигурационного сценария.

Внутри дистрибутивного каталога PHP 5 (под названием php-5.0.0RC1. или очень похожим) находится shell+сценарий configure. Данный сценарий принимает ряд ар+ гументов, позволяющих управлять функциями, которые будут поддерживаться PHP.

48 Глава 1

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

Рис. 1.7. Запуск конфигурационного сценария

Команды, доступные для конфигурационного сценария

По умолчанию задается конфигурация, которая позволяет компилировать PHP 5 как CGI+программу. Чтобы скомпилировать PHP 5 как статический модуль, использу+ ется флаг -with-apache; как DSO+объект ++++++ флаг -with-apxs. Здесь описывается компиляция с параметром -with_apxs (а фактически с параметром -with_apxs2, так как используется Apache 2).

Далее приводятся некоторые аргументы командной строки, которые можно ис+ пользовать для компиляции PHP 5. За конфигурационной командой ./configure (текущий каталог ./ необходимо указывать для того, чтобы система могла выполнить сценарий configure) после одного пробела вводятся некоторые или все необходи+ мые из перечисленных ниже параметров.

-enable-track-vars: автоматически заполняет ассоциативные массивы зна+ чениями, переданными как часть GET+ и POST+запросов или в cookie+файлах. -with-gd = /путь/к/каталогу: разрешает поддержку библиотеки GD, по+ зволяющей сценариям динамически создавать GIF+ и PNG+изображения. Мож+ но компилировать PHP с поддержкой GD, а можно добавить соответствующий модуль позднее (см. главу 16).

-with-mysql = /путь/к/каталогу: с поддержкой MySQL. -with-pgsql = /путь/к/каталогу: с поддержкой PostGreSQL.

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

Для быстрой инсталляции можно использовать только параметры -with-mysql и -with-apxs2. Если в процессе компиляции появится сообщение об ошибке, указы+ вающее на то, что какой+либо файл не найден, то следует указать полный путь к ката+ логу, содержащему данный файл (или файлы). Например, как правило, конфигураци+ онная команда находит путь к mysql, но если это не так, то можно указать полный путь к mysql как часть команды для запуска конфигурационного сценария.

Другие параметры конфигурации

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

./configure --help

и получить полный перечень используемых аргументов наряду с их описаниями.

Быстрая инсталляция (DSO)

Текстовый файл INSTALL рекомендует начинать инсталяцию с двух параметров: -with-mysql и -with-apxs. Для быстрой инсталляции следует запустить конфигу+ рационный сценарий следующим образом:

./configure –-with-mysql –-with-apxs

При работе с более новой версией Apache 2 необходимо использовать флаг --with-apxs2, а не --with-apxs. Сценарий информирует об этом, что весьма по+ лезно. Если прочесть все команды, появляющиеся в окне терминала во время выпол+ нения сценария, то можно отметить, что сценарий выполняет немало подобных про+ верок, прежде чем можно будет выполнить команду make.

После выполнения конфигурационного сценария необходимо ввести еще две команды:

make

make install

Команда install создает в каталоге /user/local/lib подкаталог с именем php, куда затем помещает копию каталога PEAR (репозиторий PHP+расширений и прило+ жений) и файла php.ini. На рис. 1.8 показано, как выглядит каталог php.

Использование дополнительных конфигурационных параметров

Для компиляции PHP 5 можно использовать несколько других параметров конфи+ гурационного сценария, например, enable_track_vars, with-gd и with_pgsql. Однако если есть необходимость использовать конфигурационные параметры для gd (графический модуль) и pgsql (база данных), то чтобы все работало правильно, сле+ дует убедиться, что данные программы также загружаются, а кроме того, необходимо указать полные пути к их каталогам.

Использование PHP как CGI-программы

PHP 5 компилируется как модуль в случае использования параметра -with-apache или -with-apxs2. Если при запуске конфигурационного сценария не использовать ссылок на Apache или apxs, то PHP будет скомпилирован как исполняемый бинарный CGI+файл. И если PHP 5 компилируется как CGI, то при установке бинарный файл фактически помещается в каталог /usr/local/bin. Его следует скопировать в ката+ лог cgi-bin, используя такую команду:

cp /usr/local/bin/php /usr/local/apache/cgi-bin/php.cgi

Это позволит программам, использующим Apache, запускать различные PHP+страницы для разных идентификаторов пользователя. Однако бюллетень CERT advisory CA+96.11 не рекомендует помещать какие+либо интерпретаторы (например, PHP 5) в каталог cgi-bin,

50 Глава 1

Рис. 1.8.

поскольку это позволяет осуществлять такие атаки на сервер, как доступ к системным файлам и Web+документам. При компиляции PHP 5 с параметром -with-apache созда+ ется интерфейс разработки серверных приложений (Server Application Programming Interface ++++++ SAPI), обеспечивающий более высокий по сравнению с CGI+методом уро+ вень производительности и безопасности.

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

Чтобы установить Apache, необходимо воспользоваться соответствующими RPM+ пакетами или скомпилировать исходный код, но в большинстве случаев Apache постав+ ляется с Linux+дистрибутивами и соответствующим образом устанавливается в ходе ин+ сталляции Linux. Например, на моей инсталляции Red Hat Fedora Apache уже был уста+

новлен, и требовалось только проверить его, нажав кнопку Red Hat, выбрав пункты меню System Settings Server Settings Services (Системные настройки Параметры сер-

веров Службы). В появившемся списке необходимо найти строку httpd (рис. 1.9). httpd означает HTTP+демон. Демон ++++++ название служб, работающих на Linux+

машинах в фоновом режиме. Таким образом, httpd означает HTTP*служба, работаю* щая в фоновом режиме, например, Web+сервер.

Если используется графический пользовательский интерфейс Linux (например, KDE), то следует щелкнуть на пункте httpd, чтобы проверить, запущена ли данная служба. В противном случае ее необходимо запустить, а затем ввести в браузере адрес http://localhost и нажать Enter. После этого в браузере должна появиться стра+ ница наподобие показанной на рис. 1.10.

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

Рис. 1.9.

Если Apache еще не установлен, то для его инсталляции можно использовать сле+ дующие команды в окне терминала:

lynx http://httpd.apache.org/download.cgi gzip -d httpd-2_0_NN.tar.gz

tar xvf httpd-2_0_NN.tar

./configure––prefix=PREFIX make

make install

vi PREFIX/conf/httpd.conf PREFIX/bin/apachectl start

NN необходимо заменить на второстепенный номер версии, а вместо PREFIX под+ ставить корректный путь установки Apache (по умолчанию используется путь

/usr/local/apache2).

Конфигурирование Apache для работы с PHP 5

Если PHP 5 устанавливается в качестве DSO+объекта (как в рассматриваемой здесь инсталляции), то необходимо проверить наличие нескольких записей в конфигура+ ционном файле Apache (он называется httpd.conf). В Fedora данный файл находит+ ся в каталоге /etc/httpd/conf. Файл httpd.conf следует открыть в любом тексто+ вом редакторе и модифицировать.

Во+первых, необходимо убедиться, что в Apache+сервере разрешено использовать PHP. Среди строк, начинающихся с LoadModule, должна присутствовать подобная строка:

LoadModule php5_module /usr/local/apache/lib/libphp5.so

Если такой строки нет, то ее необходимо добавить; если же задан неверный путь, его нужно исправить. Чтобы найти каталог, в который во время компиляции был помещен

файл libphp5.so, можно воспользоваться Konqueror, выбрав в нем пункты меню Tools Find file (Сервис Найти файл). Обычно файл libphp5.so помещается в каталог

/usr/lib/httpd/modules

52 Глава 1

Рис. 1.10.

Эти сведения нужны для того, чтобы указать Apache, как выполнять PHP+ сценарии. Для этого в конфигурационный файл Apache httpd.conf добавляется ин+ струкция загрузки PHP 5 ++++++ LoadModule с указанием найденного только что пути. Эту инструкцию можно вставить после любой другой строки LoadModule.

LoadModule php5_module /usr/lib/httpd/modules/libphp5.so

Теперь, когда Web+сервер ‘‘знает’’, как загружать PHP 5, необходимо активизиро+ вать PHP в Apache. В следующем файле имеется раздел, строки которого начинаются с AddModule. Если в файле есть строка ClearModulesList, то необходимо добавить в файл следующую строку. Не имеет значения, куда будет вставлена данная строка, однако ее лучше располагать поближе к другим строкам AddModule, в дальнейшем это облегчит к ней доступ.

AddModule mod_php5.c

Строку AddModule вставлять необязательно, если нет строки ClearModulesList. Наконец, необходимо указать Apache, как распознавать PHP+программы по рас+ ширению файла. В конфигурационном файле имеется несколько директив, начи+ нающихся с AddType. В конце этого раздела необходимо добавить следующую строку:

AddType application/x-httpd-php .php

Она означает, что все файлы, имеющие расширение .php, являются PHP+ программами. Теперь, когда конфигурирование закончено, следует сохранить файл.

Установка и использование 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]