Установка и компиляция РНР
На сайте 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-каталогов.
- enable-dmalloc — разрешить поддержку dmalloc.
- enable-exif — разрешить поддержку exif.
- enable-experimental-zts — экспериментальная компиляция.
- enable-fast-install[=PKGS] — оптимизировать для быстрой установки (по ум.)
- enable-force-cgi-redirect — разрешить проверку безопасности для внутренних переадресаций сервера. Используйте для CGI версии Apache.
- enable-inline-optimization — используйте с gcc при наличии большого объема памяти.
- enable-libgcc — явное подключение библиотеки libgcc.
- enable-maintainer-mode — компилировать для определенного установщика, игнорируя тс параметры, которые ему непонятны.
- enable-memory-limit — ограничение памяти при компиляции (по умолчанию — нет).
- enable-safe-mode — разрешить безопасный режим по умолчанию.
- enable-satellite — поддерживать CORBA через Satellite (необходим ORBit).
- enable-shared[=PKGS] — компилировать динамические библиотеки (по умолчанию).
- enable-sigchild — разрешить собственный для РНР обработчик SIGCHLD.
- enable-static[=PKGS] — компилировать статические библиотеки (по умолчанию).
- enable-sysvsem — включить поддержку семафоров System V.
- enable-sysvshm — включить поддержку System V shared memory.
- enable-trans-sid — автоматически передавать идентификатор сессии.
- with-cdb[=DIR] — включить поддержку СОВ.
- with-config-file-path=PATH — установить каталог размещения php.ini (/usr/local/lib).
- with-cpdflib[=DIR] — включить поддержку cpdflib (необходима cpdflib >= 2) (/usr).
- with-esoob[=DIR] — включить поддержку Easysoft OOB (/usr/Local/ easysoft/oob/dient).
- with-exec-dir[=DIR] — в безопасном режиме разрешать запуск сценариев только из указанного каталога (/usr/locat/php/bin).
- with-fdftk[=DIR] — включить поддержку fdftk (/usr/local).
- with-gnu-ld — считать, что компилятор С использует GNU Id (no умолчанию — нет).
- with-icap[=DIR] - поддерживать ЮАР.
- with-imap[=DIR] — включить поддержку ШАР. DIR — каталог размещения ШАР include и файла c-client.a.
- with-java[=DIR] — включить поддержку Java. DIR — каталог установки JDK. Модуль должен быть скомпилирован как общий.
- with-kerberos[=DIR] — включить поддержку Kerberos в ШАР.
- with-mcal[=DIR] — включить поддержку MCAL.
- with-mcrypt[=DIR] — включить поддержку mcrypt.
- with-mhash[=DIR] — включить поддержку mhash.
- with-mm[=DIR] — использовать поддержку mm для хранения данных сессий.
- with-mod_charset — разрешить таблицы трансляции для mod_charset (Rus Apache).
- with-pdflib[=DIR] — поддерживать pdflib 3.x (/usr/local).
- with-readline[=DIR] — поддерживать readlinc.
- with-regex=TYPE — тин библиотеки regex: system, apache, php.
- with-servlet[=DIR] — поддерживать сервлеты. DIR — каталог JSDK. Модуль Java должен быть совместным.
- with-swf[=DIR] — включить поддержку swf.
- with-tsrm-pth[=pth-config] — использовать GNU Pth.
- with-tsrm-pthreads — использовать POSIX threads (по умолчанию)
- with-zlib-dir[=DIR] — каталог zlib для pdflib 3.x или просто поддержки zlib.
- with-zlib[= DIR] — включить поддержку zlib (необходима zlib >= 1.0.9) (/usr).
- without-pcre-regex — не включать поддержку регулярных выражений.
Сети
- with-curl[=DIR] — включить поддержку CURL.
- enable-ftp — включить поддержку FTP.
- with-openssl[=DIR] — включить поддержку OpenSSL в SNMP.
- with-snmp[=DIR] — включить поддержку SNMP.
- enable-ucd-snmp-hack — разрешить UCD SNMP.
- enable-sockets — включить поддержку сетевого интерфейса sockets.
- with-yaz[=DIR] - включить поддержку YAZ (ANSI/NISO Z39.50).
- enable-yp — включить поддержку YP.
- enable-magic-quotes — разрешить magic quotes по умолчанию.
- disable-short-tags — запретить использование сокращенных тегов
Сервер
- with-aolserver-src=DIR — размещение дистрибутива AOLserver.
- with-aolserver=DIR - компилировать PHP для AOLserver.
- with-apache[=DIR] - - компилировать PHP как модуль Apache (/usr/local/etc/httpd).
- with-apxs[=FILE] — компилировать PHP как модуль Apache (используя apxs).
- enable-versioning — экспортировать только необходимые символы. См. также файл INSTALL.
- with-fhttpd[=DIR] — компилировать PHP как модуль fhttpd (/usr/ local/src/fhttpd).
- with-nsapi=DIR — компилировать PHP как модуль Netscape.
- with-phttpd=DIR — компилировать PHP как модуль phttpd.
- with-pi3web=DIR — компилировать PHP как модуль PiSWeb.
- with-roxen=DIR — компилировать PHP как модуль Pike (/usr/ local/roxen/server).
- enable-roxen-zts — компилировать PHP как модуль Roxen.
- with-thttpd=SRCDIR — компилировать PHP как модуль thttpd.
- with-zeus=DIR— компилировать PHP как модуль ISAPI для использования с сервером Zeus. < /FONT>
Текстово-языковые возможности
- with-aspell[=DIR] — включить поддержку ASPELL.
- with-gettext[=DIR] — включить поддержку GNU gettext (/usr/ local).
- with-pspell[=DIR] — включить поддержку PSPELL.
- with-recode[=DIR]— включить поддержку recode. < /FONT>
XML
- with-dom[=DIR] — разрешить использование DOM (требуется libxml >= 2.0) (/usr).
- enable-sablot-errors-descriptive — разрешить выдачу описаний ошибок.
- with-sablot[=DIR] — разрешить использование Sablotron.
- enabte-wddx — разрешить использование WDDX.
- disable-xml — запретить поддержку XML с использованием встроенной библиотеки expat.