Прежде, чем приступить к изучению PHP, неплохо бы его установить. И, конечно же, понадобится веб-сервер - остановимся на Apache 1.3 как на самом популярном и стабильном в связке с PHP.
Мы рассмотрим установку Apache+PHP в ОС Windows (рассматривая только "настоящие" ОС - NT/2000/XP/2003) и Unix (в частности, Linux и FreeBSD).
Классически, в Unix программное обеспечение устанавливается путем сборки из исходников:
$ fetch http://apache.rin.ru/dist/httpd/apache_1.3.31.tar.gz
$ tar xzf apache_1.3.31.tar.gz
$ cd apache_1.3.31
$ ./configure
$ make
$ su - заходим под суперпользователем (root), если все предыдущие операции производили из-под своего обычного
логина)
# make install
На этапе configure, вероятно, вы увидите ошибки, связанные с отсутствием в системе необходимых библиотек. Их необходимо скачать и установить в соответствии с инструкциями, находящимися в файлах INSTALL дистрибутивов (обычно - это та же последовательность ./configure && make && make install). Это дело довольно долгое и занудное, посему уже давно большинство Unix-систем включают в себя то или иное более удобное средство установки программного обеспечения.
FreeBSD включает специальное средство для установки программного обеспечения - порты (ports), представляющие собой набор скриптов, автоматически скачивающих, настраивающих, компилирующих и устанавливающих программные продукты, включая необходимые для запуска библиотеки (dependences - зависимости). Я здесь не буду расписывать подробно, как в FreeBSD работать с портами - это описано в FreeBSD Handbook и множестве книг. Предположим, что в вашей системе библиотека портов установлена и обновлена.
Собственно, вот и всё. ;)
Red Hat Linux включает менеджер пакетов RPM. Подход к установке из RPM принципиально другой - .rpm-пакеты содержат уже скомпилированные бинарники. Это дает выигрыш во времени (компилировать ничего не нужно), однако, лишает возможности собрать программу так, как вы хотите.
Для установки Apache из rpm необходимо загрузить .rpm-файл Apache 1.3 (откуда - ищите сами гуглем: Apache Software Foundation (apache.org) не распространяет RPM-ки) и запустите: rpm -Uvh apache*
Gentoo Linux - являющийся по сути своей "BSD-style Linux" - содержит portages - систему портов, похожую на используемую в FreeBSD. Установка производится с помощью команды emerge, например:
$ cd /usr/portage/net-www/apache
$ su
# emerge apache-1.3.31.ebuild
Для автоматического запуска Apache при загрузке, введите
# rc-update add apache default
Другие дистрибутивы Linux (Debian, Slackware, ...) содержат собственные менеджеры пакетов - обратитесь к документации. В любом случае (даже в случае другой Unix OS) вы можете скомпилировать и установить Apache вручную - как описано выше.
Скачайте со страницы www.php.net/downloads.php ZIP-архив Windows Binaries (PHP 4.x.x Zip package).
Распакуйте архив в C:\PHP (или в любое другое место - но в дальнейшем будет предполагаться, что вы выбрали именно C:\PHP). Скопируйте файл php4ts.dll в каталог C:\WINDOWS\SYSTEM32 (или соответствующий). Скопируйте файл php.ini-dist в каталог C:\WINDOWS и переименуйте его в php.ini.
Процесс установки PHP аналогичен установке Apache, за исключением того, что при сборке PHP вам понадобится указать гораздо больше конфигурационных опций.
При ручной сборке из исходников - для этого необходимо скачать и распаковать исходный код с www.php.net/downloads.php - сначала запустите ./configure --help и изучите список параметров сборки (весьма внушительный).
В любом случае, понадобится параметр --with-apxs=/путь/к/apxs - это необходимо для сборки модуля Апача mod_php. Например, если Apache установлен в /usr/local, то параметр будет выглядеть следующим образом: --with-apxs=/usr/local/sbin/apxs.
После конфигурирования, запустите make, и make install.
Чем больше вы используете опций, подключающих различные расширения, тем больше понадобится вручную скачивать и устанавливать необходимые библиотеки. Лучше, конечно, воспользоваться менеджером пакетов или портов вашей ОС.
Независимо от выбранного способа, после успешной установки, скопируйте php.ini-dist в php.ini:
cd /usr/local/etc
cp php.ini-dist php.ini
(в зависимости от ОС, вместо /usr/local/etc может использоваться каталог /etc и т.д.).
PHP удобно устанавливать из портов FreeBSD.
Воспользовавшись командой su для получения прав суперпользователя, перейдем в каталог /usr/ports/lang/php4.
Есть два варианта сборки PHP из портов - интерактивный и с помощью параметров команды make.
В первом случае, просто запустим команду make install. После того, как make скачает и распакует дистрибутив php, на экране появится окно со списком возможных опций конфигурирования - просто поставьте "крестики" против нужных.
У интерактивного способа, при всем его удобстве, есть недостаток - выбранные однажды параметры нельзя сохранить для использования той же конфигурации повторно. Можно указать все нужные параметры в командной строке, например make install WITH_MYSQL=YES WITH_GD=YES. Список возможных опций находится в файле /usr/ports/lang/php4/scripts/php4_options (этим файлом, кстати, и пользуется скрипт, выводящий окно в интерактивном режиме).
Поскольку, как уже говорилось, Red Hat-пакеты содержат уже скомпилированные бинарники, вам следует отыскать в интернете готовый rpm с наиболее подходящей вам конфигурацией, и установить его, воспользовавшись командой rpm.
Gentoo-portage PHP (модуля Apache) находится в /usr/potrage/dev-php/mod_php. Для указания параметров
configure используйте переменную USE (неполный список возможных значений USE в Gentoo
Linux: www.gentoo.org/dyn/use-index.xml).
Можно отредактировать etc/make.conf, но удобнее так:
# USE="gd mysql pdf xml xslt -X" emerge mod_php
В этом случае, переменная USE устанавливается только на время выполнения команды emerge. ("-X" - для гарантии, что ни одна библиотека не потащит за собой XFree86).
После установки, файл php.ini (а точнее - симлинк на него) находится в /etc/apache/conf.
Если это еще не сделала программа установки из пакетов/портов, добавьте в файл конфигурации Apache httpd.conf следующие строки:
В Windows, для подключения расширений следует раскомментировать соответствующие строки extension=... в php.ini, не забыв прописать путь к ним в строке extension_dir=.. (обычно они находятся в c:\php\extensions для php4 и в c:\php\ext для php5).
В Unix (если только вы не указывали атрибут shared параметров --with... при сборке), расширения подключаются путем пересборки php.
Если вы попали на эту статью не с гугля (сообразив, что для скачанного форума или чата нужен веб-сервер), а собираетесь изучать PHP - установите значения указанных переменных именно так. И не спорьте. :) Что, зачем и почему - я объясню позже.
register_globals = off
magic_quotes_gpc = off
magic_quotes_runtime = off
error_reporting = E_ALL - и именно так, никаких E_ALL & ~E_NOTICE и пр.!
display_errors = on
Теперь все готово к запуску Apache. В Windows:
> net start apache
В Unix:
# apachectl start
Apache+PHP5 устанавливается точно так же, как и Apache+PHP4 - просто везде замените в этой инструкции PHP4 на PHP5 (в т.ч и в именах файлов и конфигурационных директивах).
И помните: Apache 2 не рекомендуется использовать ни с PHP4, ни с PHP5.