PHP-4 Эффективная работа


Извлечение дистрибутива
Общий подход к установке РНР
Сборочное конфигурирование РНР
Директивы конфигурационного файла Apache
Конфигурационный файл php.ini

В состав подавляющего большинства дистрибутивов Linux средства поддержки РНР не входят, поэтому вам придется извлекать их из Интернета и устанавливать самостоятельно. Скорее всего, к моменту выхода книги из печати вы сможете найти на сервере www.php.net новую версию РНР, которую и имеет смысл установить.

примечание
       К сожалению, процесс массового наступления Linux сопровождается наплывом полуграмотных администраторов, которые полагают, что устанавливать пакет из исходных текстов слишком хлопотно и накладно. Не уподобляйтесь орангутангам, нажимающим кнопку в ожидании банана! Подавляющая часть пакетов, входящих в дистрибутивы, не отвечает вашим нуждам: эти продукты либо уже устарели, либо не содержат необходимых для русскоязычного пользователя компонентов.

В этой главе мы рассмотрим, как установить РНР на своей машине и как состыковать установленную систему с Apache. Естественно, все изложение будет построено в предположении, что на вашей машине установлена ОС Linux.

1.1. Извлечение дистрибутива

Прежде всего вы должны извлечь с сервера разработчика www.php.net последнюю версию РНР. Настоятельно рекомендую загрузить именно исходные тексты, поскольку это сэкономит много времени впоследствии. Кроме того, не поленитесь загрузить и документацию1, которая представлена в большом разнообразии форматов и языков. Русского варианта, к сожалению, нет, но я искренне надеюсь, что с выходом этой книги в нем и надобности особой не будет. На момент написания этой книги последняя стабильная версия РНР на сервере была 4.0.5, и именно о ней мы будем говорить дальше.        После загрузки поместите дистрибутивный файл в один из каталогов (я обычно использую /usr/src) и распакуйте его: zcat php-4.0.5.tar.gz | tar xvf -

совет
       Пользователи Midnight Commander могут просто «провалиться» в архив и скопировать его содержимое во внешний каталог.

К этому моменту у вас должен быть установлен дистрибутив web-сервера Apache, который, скажем, расположен в каталоге /usr/src/apache. Настоятельно рекомендуется использовать так называемый «Русский Apache», представляющий собой модификацию стандартного сервера, выполненную и поддерживаемую Алексеем Тутубалиным. Найти последнюю версию сервера всегда можно по адресу: http://apache.lexa.ru/.

Для установки РНР вам потребуются исходные тексты Apache-Rus. Я пользовался версией 1.3.27, но полагаю, что подойдет любая из серии 1.3. Вообще говоря, WWW-сервер и РНР сплетены между собой, как мозаика (puzzle), и сцепить их вместе так, чтобы они заработали, не оченьто просто. Но без лишней скромности замечу, что мы с этой проблемой справимся.

1.2. Общий подход к установке РНР

внимание
       Не читайте файлы INSTALL в документации к Apache и к самому дистрибутиву РНР! Они не соответствуют действительности. Действительно работоспособная методика изложена ниже.

Да, я осознаю всю меру ответственности перед читателями за столь радикальный совет. Но, как ни крути, именно к этому я пришел в ходе нескольких неудачных попыток установки РНР. Однако в конце концов мне удалось найти последовательность действий, которая, в отличие от шаманских заклинаний, является научной, поскольку:

  • обладает воспроизводимостью (то есть вы можете повторить ее с тем же результатом самостоятельно);
  • представлена в виде документа — вот этой самой книги.
Но хватит шуток! Пора заняться делом.

Итак, вы загрузили из сети дистрибутивы РНР и Apache-RUS и поместили их в каталоги/usr/src/php-4.0.5 и /usr/src/apache соответственно.

Теперь нам необходимо сгенерировать конфигурационные файлы, необходимые для последующей сборки Apache. Делается это достаточно просто:

cd /usr/src/apache
./configure --prefix=/www


примечание
       Символы . / указывают, что программа конфигурации должна запускаться из текущего каталога. Дело в том, что список каталогов PATH суперпользователя,который обычно устанавливает подобные пакеты, не содержит текущего каталога по соображениям безопасности [1], [2].

В результате будут созданы заголовочные файлы, которые потребуются нам при конфигурировании РНР. Теперь нам необходимо перейти в каталог с дистрибутивом РНР и ввести команды:

cd /usr/src/php-4.0.5
./configure --with-pgsql --with-apache=../apache --with-mod_charset
make
make install

Для нас важно то, что в результате сборки и установки мы получим модуль РНР, предназначенный для встраивания в Apache, который автоматически будет помещен в каталог/usr/src/apache/modules/php4.

Теперь мы возвращаемся к Apache и сообщаем ему о необходимости учесть при сборке вновь созданный модуль:

cd . . /apache
./configure --activate-module=src/modules/php4/libphp4.a
make
make install

Вот теперь собранный нами Apache в лице программы /www/httpd будет поддерживать работу с РНР! Нам осталась самая малость: подготовить конфигурационные файлы Apache и РНР.

Начнем с РНР. Вам необходимо просто скопировать дистрибутивную версию инициалиационного файла php.ini в каталог /usr/local/lib, вот так:

cd ../php-4.0. 5
ср php.ini-dist /usr/local/lib/php.ini

Это обычный текстовый файл, в котором вы можете настроить отдельные параметры PHP-машины. Подробно его содержимое будет рассмотрено в разделе 1.5.

Теперь необходимо известить Apache о том, что мы хотим обрабатывать РНР-файлы. Как правило, файлы с PHP-кодом имеют расширение .php. Чтобы активизировать их специальную интерпретацию, вам достаточно включить в файл /www/conf/ httpd.conf строку:

AddType application/x-httpd-php .php

совет
       Чтобы перезапустить уже работающий сервер Apache, вы должны «убить» процесс httpd с минимальным номером из числа полученных посредством команды: ps -ax | grep httpd, а после этого заново запустить сервер. Простой перезагрузки конфигурационных файлов недостаточно!

После этого вы можете проверить работоспособность РНР с помощью простых тестовых программ, приведенных в главе 2.

назад
далее

Сайт управляется системой uCoz