На сайте http://www.php.net/ можно найти несколько установочных пакетов РНР. Для систем Windows предлагаются варианты: готовый пакет CGI с автоматической установкой и полный скомпилированный пакет CGI/ISAPI с дополнительными библиотеками, требующий ручной настройки. Также можно загрузить пакет исходных кодов и скомпилировать весь пакет самостоятельно. Для систем UNIX/Linux обычно приходится перекомпилировать РНР, так как версии операционных систем сильно различаются (возможно, придется дозагру-жать дополнительные библиотеки).
Вопрос о том, имеет ли смысл компилировать РНР самому или стоит воспользоваться готовым пакетом, решает сам программист. Основными мотивами для собственноручной компиляции могут быть: неудовлетворительная конфигурация предлагаемого готового пакета, которую нельзя изменить с помощью редактирования файла php.ini (см. ниже), и желание поупражняться с компилированием.
Для большинства web-серверов можно установить РНР либо в виде серверного модуля ISAPI, либо в виде запускаемого серверного CGI-приложения. CGI-приложение запускается сервером каждый раз, когда необходимо исполнить сценарий, а по завершении сценария РНР выгружается из памяти. ISAPI-модуль загружается один раз при запуске web-сервера и остается в памяти все время, пока работает сервер. Поэтому, чтобы после редактирования файла конфигурации php.ini изменения вступили в силу, необходимо перезапустить сервер. РНР в виде CGI-приложения не позволяет выполнять ряд функций, например использовать устойчивые подключения к серверам баз данных.
Установка и компиляция РНР в UNIX, параметры компиляции
Операционные системы семейства UNIX сильно различаются между собой, поэтому подробного описания в данной книге не приводится. Единственное, что роднит между собой различные UNIX-системы при компиляции РНР, — это параметры компиляции; с их помощью указывается, какие из PHP-модулей необходимо прикомпилировать к основному модулю РНР. Они приводятся ниже. Для тех параметров, которые имеют аргумент DIR, можно указать путь каталога, в котором была установлена используемая библиотека. В скобках указано значение параметра по умолчанию. Дополнительная информация по установке и конфигурированию модулей приводится в соответствующих главах.
Базы данных
with-adabas[=DIR] — включить поддержку Adabas D (/usr/local).
enable-dba=shared — использовать DBA как совместно используемый модуль.
enable-dbase — включить поддержку dbase. Внешние библиотеки не требуются.
with-db2[=DIR] — включить поддержку Berkeley DB2.
with-db3[=DIR] — включить поддержку Berkeley DB3.
with-dbm[=DIR] — включить поддержку DBM.
with-dbmaker[=DIR] — включить поддержку DBMaker (зависит от версии, например /home/dbmaker/3.6).
with-empress[=DIR] — включить поддержку Empress (значение системной переменной $EMPRESSPATH).
enable-filepro — включить встроенную поддержку filcPro. Внешние библиотеки не требуются.
with-gdbm[=DIR] — включить поддержку GDBM.
with-hyperwave — включить поддержку Hyperwave.
with-ibm-db2[=DIR] — включить поддержку IBM DB2 (/home/ db2instl/sqllib).
with-informix[=DIR] — включить поддержку Informix (умолчаний нет).
with-ingres[=DIR] — включить поддержку Ingres II (/II/ingres).
with-interbase[=DIR] — включить поддержку InterBase (/usr/interbase).
with-ldap[=DIR] — включить поддержку LDAP — службы каталогов Lightweight Directory Access Protocol (/usr/Local/Ldap). См. также: RFC1777 и RFC1778.
with-msql[=DIR] — включить поддержку mSQL (/usr/loCdl/Hughes).
with-mysql[=DIR] — включить поддержку MySQL (параметр включен по умолчанию).
with-ndbm[=DIR] - NDBM.
with-oci8[=DIR] - включить поддержку Oraclc-oci8 ($ORACLE_HOME).
with-orade[=DIR] — включить поддержку Oracle-oci7 ($ORACLE_HOME).
with-pgsql[=DIR] — включить поддержку PostgrcSQL (/usr/local/ pgsql).
with-solid[=DIR] — включить поддержку Solid (/usr/local/solid).
with-sybase-ct[=DIR] — включить поддержку Sybase-CT (/home/ Sybase).
with-sybase[=DIR] — включить поддержку Sybase-DB (/home/Sybase).
with-openlink[=DIR] - - включить поддержку OpenLink ODBC (/usr/local/openlink).
with-iodbc[=DIR] — включить поддержку iODBC (/usr/local).
with-custom-odbc[=DIR] — включить поддержку пользовательской библиотеки ODBC (/usr/local). Перед запуском сценария configure необходимо присвоить значение переменной CUSTOM_ODBC__LIBS, а также проверить, чтобы файл odbc.h был доступен.
with-unixODBC[=DIR] — включить поддержку unixODBC support (/usr/local).
with-velocis[=DIR]— включить поддержку Velocis (/usr/local/ velocis). < /FONT>
Ecommerce
with-ccvs[=DIR] — разрешить поддержку CCVS для РИР4.
with-cybercash[=DIR] — включить поддержку CyberCash.
with-pfpro[=DIR]— включить поддержку Verisign Payflow Pro. < /FONT>
Графика
enable-freetype-4bit-antialias-hack — включить поддержку FreeType2 (экспериментальная).
with-gd[=DIR] — включить поддержку GD.
without-gd — запретить поддержку GD.
with-jpeg-dir[=DIR] — каталог библиотеки jpeg для pdflib 3.x.
with-png-dir[=DIR] — каталог библиотеки png для pdflib 3.x.
with-tllib[=DIR] — включить поддержку Tllib.
with-tiff-dir[=DIR] — каталог библиотеки tiff для pdflib 3.x.
with-ttf[=DIR] — включить поддержку FreeType.
with-xpm-dir[=DIR]— каталог библиотеки хрт для gd-1.8+. < /FONT>
Разнообразные параметры
disable-libtool-lock — не использовать блокировку библиотек при компиляции.
disable-pear — не устанавливать PEAR.
disable-pic — не использовать PIC для общих объектов.
disable-posix — не использовать функции POSIX.
disable-session — запретить поддержку сессий.
enable-bcmath — компилировать с поддержкой функций be math. См. также: README-BCMATH.
enable-c9x-inline — использовать семантику C9x-inline.
enable-calendar — использовать преобразования calendar.
enable-debug — компилировать в режиме для отладки.
enable-discard-path — позволяет разместить PHP CGI вне web-каталогов.