Извлечение дистрибутива
Общий подход к установке РНР
Сборочное конфигурирование РНР
Директивы конфигурационного файла Apache
Конфигурационный файл php.ini
1.3. Сборочное конфигурирование РНР
Общий список команд сборочной конфигурации используемой вами версии РНР,
как и для Apache, вы можете получить с помощью команды
./configure --help | less
внимание
Этот прием работает в подавляющем большинстве программ, для установки которых используется конфигуратор autoconf.
Эти команды работают только на этапе подготовки РНР к компиляции и не могут
быть изменены в работающей системе. Отдельные моменты могут быть поправлены путем манипуляций с конфигурационным файлом, но систему в целом нужно настраивать на этапе сборки. Эти команды, для удобства читателя, разделены
на ряд секций. Каждая секция соответствует определенной области деятельности, в которой используется РНР, и для которой необходимы те или иные механизмы.
1.3.1. Работа с базами данных
В этом разделе мы рассмотрим команды конфигурирования, которые включают поддержку тех или иных интерфейсов СУБД. По умолчанию включена только встроенная поддержка СУБД MySQL3, которая не требует установки специального сервера.
Остальные интерфейсы подключаются с помощью команд, приведенных в табл. 1.1.
Таблица 1.1. Команды включения поддержки СУБД
Команда | Действие
| --with-adabas[=DIR] | Включение поддержки Adabas D. Аргумент DIR должен указывать на корневой каталог ADABAS. По умолчанию используется значение /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. Аргумент DIR должен указывать на каталог, в котором установлена СУБД
| --with-empress[=DIR] | Включение поддержки Empress. Аргумент DIR должен указывать на корневой каталог СУБД. По умолчанию извлекается из переменной окружения $EMPRESSPATH
| --enable-filepro | Включает встроенную поддержку баз данных filePro, реализующую доступ только на чтение Данных. Никакие внешние библиотеки не используются
| --with-fbsql[=DIR] | Включение поддержки FrontBase SQL. Аргумент DIR должен указывать на корневой каталог FrontBase. Значение, используемое по умолчанию, зависит от операционной системы: для Solaris — /opt/FrontBase; для WinNT — \usr\FrontBase;для Linux — /usr/frontbase; для Mac OSX — /Library/FrontBase
| --with-gdbm[=DIR] | Включение поддержки GDBM
| --with-hyperwave | Включение поддержки Hyperwave
| --with-ibm-db2[=DIR] | Включение поддержки совершенно замечательной СУБД IBM DB2. Аргумент DIR указывает на корневой каталог DB2, который по умолчанию принимает значение /home/db2instl/sqllib
| --with-informix[=DIR] | Включение поддержки Informix. Аргумент DIR указывает на базовый каталог Informix. Значение по умолчанию не предусмотрено (пустое). (См. также раздел 1.5.12)
| --with-ingres [=DIR] | Включение поддержки Ingres II. Аргумент DIR указывает на базовый каталог Ingres. По умолчанию используется /II/ingres
| --with-interbase[=DIR] | Включение поддержки InterBase. Аргумент DIR указывает на базовый каталог InterBase, который по умолчанию равен /usr/interbase
| --with-ldap[=DIR] | Включение поддержки LDAP (Lightweight Directory Access Protocol support). Параметр DIR должен указывать на базовый каталог LDAP. По умолчанию используется /usr/local/ldap. (Более подробную информацию о LDAP вы можете найти в RFC-1777 и RFC-1778)
| --with-msql[=DIR] | Включение поддержки mSQL. Аргумент DIR должен указывать на базовый каталог mSQL. По умолчанию его значение равно /usr/tocal/Hughes, что соответствует версии 2.0. Стоит отметить, что программа конфигурирования автоматически определяет, какая версия mSQL установлена в системе, и включает средства поддержки, ориентированные или на 1.0, или на 2.0. Однако имейте в виду, что если вы компилируете РНР с поддержкой mSQL одной из версий, то сможете работать с базами только этой версии. (См. также раздел 1.5.7)
| --with-mysql [=DIR] | Включение поддержки MySQL. Аргумент DIR должен указывать на базовый каталог MySQL. Если аргумент не указан, используется встроенная библиотека поддержки баз данных MySQL. Этот параметр по умолчанию всегда включен. (См. также раздел 1.5.6)
| --with-ndbm[=DIR] | Включение поддержки NDBM
| •-with-ovrimos | Включение поддержки Ovrimos
| --with-oci8[=DIR] | Включение поддержки Oracle8 OCI. Значение аргумента DIR по умолчанию извлекается из переменной окружения ORACLE_HOME
| •-with-oracle[=DIR] | Включение поддержки Oracle. Значение аргумента DIR по умолчанию извлекается из переменной окружения ORACLE_HOME
| --with-pgsql [=DIR] | Включение поддержки PostgreSQL. Аргумент DIR должен указывать на базовый каталог СУБД, по умолчанию используется значение /usr/local/pgsql. (См. также раздел 1.5.8)
| --with-solid[=DIR] | Включение поддержки СУБД Solid. Аргумент DIR должен указывать на базовый каталог Solid. По умолчанию используется значение /usr/local/solid
| --with-Sybase-сt [=DIR] | Включение поддержки Sybase-CT. Аргумент DIR указывает на базовый каталог Sybase-CT. По умолчанию используется начение /home/sybase. (См. также раздел 1.5.11)
| --with-sybase[=DIR] | Включение поддержки Sybase. Аргумент DIR указывает на базовый каталог Sybase. По умолчанию используется значение /home/sybase. (См. также раздел 1.5.10)
| --with-openlink[=DIR] | Включение поддержки OpenLink ODBC. Аргумент DIR должен указывать на базовый каталог OpenLink. По умолчанию используется значение /usr/local/opentink
| --with-iodbc[ = DIR] | Включение поддержки iODBC. Аргумент DIR должен указывать на базовый каталог iODBC. По умолчанию используется значение /usr/locat
| --with-custom-odbc[=DIR] | Включение поддержки специализированной библиотеки ODBC.Аргумент DIR должен указывать на базовый каталог библиотеки. По умолчанию устанавливается значение, равное /usr/local
| --with-unixODBC[=DIR] | Включение поддержки unixODBC. Аргумент DIR должен указывать на базовый каталог unixODBC. По умолчанию используется значение /usr/local
| --with-velocis [=DIR] | Включение поддержки Velocis. Аргумент DIR должен указывать на базовый каталог Velocis. По умолчанию используется значение /usr/tocal/vetocis
|
1.3.2. Платежные системы
Группа команд, представленная в табл. 1.2, предназначена для подключения интерфейсов различных систем поддержки электронной торговли.
Таблица 1.2. Команды подключения интерфейсов систем поддержки электронной торговли
Команда | Действие
| --with-ccvs [=DIR] | Включение поддержки CCVS. Аргумент DIR должен указывать на базовый каталог CCVS. Значение по умолчанию не предусмотрено
| --with-cybercash [=DIR] | Включение поддержки CyberCash. Аргумент DIR должен указывать на базовый каталог CyberCash MCK. Значение по умолчанию не предусмотрено
| --with-pfpro[=DIR] | Включение поддержки Verisign Payflow Pro. Аргумент DIR должен указывать на базовый каталог. Значение по умолчанию не предусмотрено
|
1.3.3. Генерация графики
Обилие библиотек генерации графических файлов вынудило разработчиков РНР
предпринять ряд мер по оптимизации состава модулей в зависимости от задач,
решаемых пользователями. В табл. 1.3 приведены команды подключения графических библиотек.
Таблица 1.3. Команды подключения графических библиотек
Команда | Действие
| --enable-freetype-4bit-antialias-hack | Включение поддержки FreeType2. Это пока что экспериментальная версия. Использовать ее без крайней необходимости не стоит
| --with-gd[=DIR] | Включение поддержки библиотеки GD. Аргумент DIR должен указывать на базовый каталог библиотеки
| --with-out-gd | Отключение поддержки GD
| --with-jpeg-dir[=DIR] | Указание каталога, в котором находится библиотека jpeg, используемая в pdflib 3.x и 4.x
| --with-png-dir[=DIR] | Указание каталога, в котором находится библиотека png, используемая в pdflib 3.x и 4.x
| --with-tllib[=DIR] | Включение поддержки T1lib
| --with-tiff-dir[=DIR] | Указание каталога, в котором находится библиотека tiff, используемая в pdflib 3.x и 4.x
| --with-ttf[=DIR] | Включение поддержки библиотеки FreeType
| --with-xpm-di г[=DIR] | Указание каталога хрmдля библиотеки gd-1.8+
|
1.3.4. Модификация поведения РНР-машины
Эта скромная группа команд играет достаточно важную роль: перечисленные
в табл. 1.4 команды могут оказать довольно существенное влияние на интерпретацию ваших РНР-программ.
Таблица 1.4. Команды модификации поведения РНР-машины
Команда | Действие
| --enable-magi с-quotes | Разрешение автоматического использования «волшебных кавычек»
| --disable-short-tags | Запрещение использования сокращенной формы префикса PHP-кода — <?
|
1.3.5. Взаимодействие с сервером
PHP-машина не ограничена работой только с Apache. В результате многолетнего
труда сегодня вы можете подключить РНР практически к любому серверу. В этом
разделе мы рассмотрим команды, которые предназначены для адаптации работы
РНР с различными серверами (табл. 1.5).
примечание
Обращаю ваше внимание на то, что большинство этих команд появилось только в чет-
вертой версии РНР.
Таблица 1.5. Команды адаптации работы РНР с различными серверами
Команда | Действие
| --with-aolserver-src=DIR | Указание пути к исходным кодам сервера AOLserver
| --with-aolserver=DIR | Указание пути к установленному серверу AOLserver
| --with-apache[ = DIR] | Построить PHP-машину в виде модуля Apache. Аргумент DIR должен указывать на базовый каталог Apache. По умолчанию используется значение /usr/local/etc/httpd
| --with-apxs[ = FILE] | Построить PHP-машину как совместно используемый модуль Apache. Требует использования программы apxs. Аргумент FILE позволяет задать ее альтернативное имя
| --enable-versioning | Экспортируются только явно запрошенные символы. По большому счету, эта команда не предназначена для большинства пользователей
| --with-caudium[ = DIR] | Построить РНР в виде Pike-модуля, ориентированного на работу с сервером Caudium. Аргумент DIR должен указывать на базовый каталог сервера. По умолчанию используется значение $prefix/caudium/server. Значение переменной $pref ix определяется командой -prefix и по умолчанию равно /usr/local
| --with-fhttpd[=DIR] | Построить PHP-машину в виде модуля fhttpd. Аргумент DIR должен указывать на каталог с исходными текстами fhttpd.По умолчанию используется значение /usr/local/src/fhttpd
| --with-nsapi=DIR | Указывает путь к установленному серверу Netscape
| --with-pi3web=DIR | Построить РНР в виде модуля, предназначенного для использования с Pi3Web
| -with-roxen=DIR | Построить РНР в виде модуля Pike. Аргумент DIR должен указывать на базовый каталог Roxen. По умолчанию используется значение /usr/local/roxen/server
| --enable-roxen-zts | Построить модуль гохеп с использованием механизма Zend Thread Safety
| --with-zeus=DIR | Построить РНР в виде модуля ISAPI, предназначенного для работы с сервером Zeus
|
1.3.6. Сетевые интерфейсы и протоколы
В этом разделе описываются команды, влияющие на организацию взаимодействия
PHP-машины с сервером WWW, а также на работу РНР с другими сетевыми службами - SMTP, POP, FTP и т. д. (табл. 1.6).
Таблица 1.6. Команды поддержки сетевых интерфейсов и протоколов
Команда | Действие
| --with-curl[=DIR] | Включение поддержки CURL. (См. http://www.curl.org)/
| --enable-ftp | Включение поддержки FTP
| --disable-url-fopen-wrapper | Запрещение использования URL-ориентированной обертки вызова fopen, которая позволяет организовать доступ к файлам через http или ftp
| --with-mod-dav=DIR | Включение поддержки DAV посредством модуля Apache mod_dav. Аргумент DIR должен указывать на базовый каталог модуля mod_dav
| --with-openssl. [=DIR] | Включение поддержки шифрования SNMP-трафика по протоколу OpenSSL
| --with-snmp[=DIR] | Включение поддержки протокола SNMP. Аргумент DIR должен указывать на базовый каталог библиотеки SNMP. Конфигуратор автоматически просматривает несколько каталогов, в которые обычно устанавливаются наиболее распространенные SNMP-агенты. Но вы можете также указать этот каталог принудительно, введя аргумент DIR
| --enable-ucd-snmp-hack | Включение правок кода UCD SNMP
| --enable-sockets | Включение поддержки гнездового сетевого интерфейса BSD
| --with-yaz[ = DIR] | Включение поддержки YAZ (он же — ANSI/NISO Z39.50). Аргумент DIR должен указывать на каталог с исполняемыми файлами YAZ
| --enable-yp | Включение поддержки службы каталогов YellowPages
| --with-mnogosearch | Включение поддержки поисковой системы mnoGoSearch
|
1.3.7. Обработка текста и естественных языков
Подобно Perl [3], РНР представляет собой язык, основное назначение которого
состоит в эффективном «перемалывании» текста. В конце концов, HTML-страницы — это просто текстовые файлы! А текст, как известно, обычно содержит большое количество ошибок.
В этом разделе представлены команды настройки, ориентированные на различные перекодировки таблиц символов и проверку орфографии (табл. 1.7).
Таблица 1.7. Команды настройки перекодировки таблиц символов и проверки орфографии
Команда | Действие
| --with-aspell [=DIR] | Включение поддержки ASPELL
| --with-gettext[=DIR] | Включение поддержки библиотеки gettext проекта GNU. Аргумент DIR должен указывать на каталог, в котором установлена gettext.По умолчанию используется значение /usr/locat
| --with-pspell[=DIR] | Включение поддержки PSPELL
| --with-recode[=DIR] | Включение поддержки библиотеки recode проекта GNU. Аргумент DIR должен указывать на каталог, в котором установлена библиотека
| --enable-shmop | Включение поддержки shmop
|
1.3.8. XML
Несмотря на свою молодость, XML успел хорошо зарекомендовать себя в информационных системах самых разных классов, поэтому нет ничего удивительного
в том, что при сборке РНР поддержка XML включается по умолчанию. Однако
при необходимости вы можете либо отключить ее вовсе, либо модифицировать
поведение анализатора (табл. 1.8)
`Таблица 1.8. Команды управления поддержкой XML
Команда | Действие
| --with-dom[=DIR] | Включение поддержки DOM (требует libxml версии не ниже 2.0). Аргумент DI R должен указывать на каталог, в который установлена libxml. По умолчанию используется значение /usr
| --enable-sablot-errors-descriptive | Включает генерацию расширенных сообщений об ошибках в XML-документах
| --with-sablot[=DIR] | Включает поддержку библиотек Sablotron
| --enable-wddx | Включение поддержки WDDXt
| --disable-xml | Отключает поддержку XML, основанную на использовании встроенной в дистрибутив библиотеки Expat
|
1.3.9. Прочие настройки
И наконец, в этом разделе описаны команды, не вошедшие ни в один из ранее перечисленных классов. Фактически они отражают слабо выраженные (пока) на-
правления развития РНР, которые не выделяются в какой-либо заметный класс(табл. 1.9).
Таблица 1.9. Команды прочих настроек
Команда | Действие
| --with-gmp | Включение поддержки GMP
| --disable-libtool-lock | Отключение средств обслуживания блокировок. Ускоряет работу, но снижает надежность системы в целом. Использовать с осторожностью
| •-disable-pear | Отказ от установки библиотеки компонентов PEAR.
| --disable-pic | Отключение поддержки PIC в совместно используемых объектах
| --disable-posix | Отключение поддержки функций POSIX
| --disable-rpath | Отключение передачи в сборочные файлы дополнительных каталогов библиотек времени исполнения
| --disable-session | Отключение сеансовой поддержки
| --enable-bcmath | Компилировать PHP-машину с использованием математических функций в стиле и с точностью bc. Использование этих функций позволит вам работать с числами фактически произвольной длины, как это происходит, например, в Лиспе
| --enable-c9x-inline | Включение поддержки семантики C9x-inline
| --enable-calendar | Включение поддержки преобразования календарных дат
| --enable-debug | Компилировать PHP-машину с включением в объектный код отладочной информации
| --enable-discard-path | При включении этого режима вы можете размещать CGI-обработчики на РНР за пределами дерева каталогов документов HTML, что заметно затруднит злоумышленникам «перепиливание» решеток, наложенных с помощью .htaccess
| --enable-dmalloc | Разрешает использовать для выделения памяти dmalloc
| --enable-exif | Включение поддержки exit
| --enable-experimental-zts | Только для разработчиков РНР. Не используйте этот ключ, если хотите получить работоспособную РНР-машину!
| --enable-fast--install[=PKGS] | Оптимизация РНР для быстрой установки в системе.Включена по умолчанию
| --enable-force-cgi-redi rect | Включает дополнительные проверки при выполнении внутренних перенаправлений запросов на сервере. Используется при работе с CGI-версией PHP-машины внутри Apache для повышения уровня безопасности
| --enable-inli ne-optimi zation | Используется при работе с компилятором дсс и наличии достаточно большого объема оперативной памяти. Повышает производительность PHP-машины примерно на 3-5%
| --enable-libgcc | Указывает на необходимость компоновки с библиотекой libgcc
| --enable-maintainer-mode | При активизации отключает правила и зависимости, используемые в сборочных файлах. Не предназначена для использования при сборке РНР
| --enable-memory-limit | Сборка системы производится с ограничением на объем используемой оперативной памяти. По умолчанию режим отключен
| --enable-safe-mode | Использовать при работе PHP-машины безопасный режим по умолчанию
| --enable-satellite | Включить поддержку CORBA посредством Satellite. Требует установить библиотеку ORBit, которая входит в большинство дистрибутивов Linux
| --enable-shared[=PKGS] | Требует собирать РНР-машину в виде совместно используемых библиотек
| --enable-sigchild | Разрешить использовать PHP-машине собственный обработчик сигнала SIGCHLD
| --enable-static[=PKGS] | Собрать РНР-машину со статическим подключением библиотек
| --enable-sysvsem | Разрешить поддержку семафоров System V
| --enable-sysvshm | Разрешить использование механизма совместно используемой памяти System V
| --enable-trans-sid | Включить прозрачную передачу идентификатора сеанса
| --with-cdb[=DIR] | Включить поддержку CDB.
| --with-config-file-path=PATH | Задает имя каталога, в котором PHP-машина будет искать конфигурационный файл php.ini. По умолчанию используется каталог /usr/local/lib
| --with-cpdf lib[=DIR] | Включить поддержку cpdflib (требуется библиотека cpdflib не ниже второй версии). Аргумент DIR должен указывать на каталог, в котором установлена библиотека. Значение по умолчанию — /usr
| --with-esoob[ =DIR] | Включает поддержку Easysoft OOB. Аргумент DIR должен указывать на базовый каталог ООВ. Значение по умолчанию —/usr/local/easysoft/oob/client
| --with-exec-dir [=DIR] | Разрешает помещать программы РНР только в каталог DIR при работе в безопасном режиме. По умолчанию используется каталог /usr/local/php/bin
| --with-fdftk[=DIR] | Включение поддержки fdftk. Аргумент DIR должен указывать на базовый каталог fdftk. По умолчанию используется /usr/local
| --with-gnu-ld | Указывает, что компилятор Си использует компоновщик GNU Id. По умолчанию никаких специальных предположений не делается
| --with-icap[ = DIR] | Включает поддержку ЮАР
| --with-imap[=DIR] | Включает поддержку IMAP. Аргумент DIR должен указывать на каталог, в котором размещаются заголовочные файлы IMAP и библиотека c-client.a
| --with-java[=DIR] | Включение поддержки Java. Аргумент DIR должен указывать на базовый каталог JDK
| --with-kerberos[=DIR] | Включение поддержки алгоритма аутентификации Kerberos в протоколе IMAP
| --with-mcal[=DIR] | Включение поддержки MCAL
| --with-mcrypt[=DIR] | Включение поддержки mcrypt. Аргумент DIR должен указывать на базовый каталог библиотеки
| --with-mhash[=DIR] | Включение поддержки mhash. Аргумент DIR должен указывать на базовый каталог библиотеки
| --with-mm[=DIR] | Включение поддержки библиотеки mm для сохранения сеансовой информации
| --with-mod_charset | Включение поддержки таблиц перекодировки Apache-RUS. По умолчанию не используется, но должно включаться при построении русскоязычных серверов!
| --with-pdflib[=DIR] | Включение поддержки pdflib З.х/4.х. Аргумент DI R должен указывать на базовый каталог pdflib. По умолчанию используется /usr/local
| --enable-shared-pdflib | Включить поддержку pdflib как совместно используемой библиотеки
| --with-readline[=DIR] | Включить поддержку readline. Аргумент DIR должен указывать на базовый каталог библиотеки
| --with-regex=TYPE | Выбирает одну из библиотек обслуживания регулярных выражений: system, apache, php
| --with-servlet[=DIR] | Включение поддержки сервлетов. Аргумент DIR должен указывать на базовый каталог JSDK. При этом расширение поддержки Java должно быть собрано как совместно используемая библиотека
| --with-ming | Включение поддержки Flash 4, с использованием Ming
| --with-swf [=DIR] | Включение поддержки swf
| --with-system-regex | Требует использовать системную версию библиотеки регулярных выражений. В настоящее время считается устаревшей командой. Вместо нее рекомендуется использовать -with regex=system
| --with-tsrm-pth [=pth-config] | Требует использовать Pth проекта GNU
| --with-tsrm-pthreads | Включает поддержку нитей POSIX (активизируется по умолчанию)
| --with-bz2[=DIR] | Включить поддержку архивации по протоколу bzip2.Аргумент DIR должен указывать на каталог библиотеки bzip2
| --with-zli b-dir [=DIR] | Указывает каталог библиотеки zlib, использующейся для подключения в PHP pdflib 3.X/4.X или самой библиотеки zlib
| --with-zlib[=DIR] | Включает поддержку zlib (требует zlib версии 1.0.9 и выше). Аргумент DIR должен указывать на каталог библиотеки. По умолчанию используется значение/usr
| --with-zziplib[=DIR] | Включает поддержку ZZIPlib (версия ZZIPlib должна быть не ниже 0.10.6). Аргумент DIR должен указывать на базовый каталог ZZIPlib. По умолчанию используется значение /usr/tocal
| --without-pc re- regex | Запретить включение в состав PHP поддержки регулярных выражений в стиле Perl. Используется совместно с ключом -with-pcre-regex=DIR, который указывает, откуда брать заголовочные и библиотечные файлы, если вы отказываетесь от использования библиотеки, входящей в состав РНР
|
|