Извлечение дистрибутива
Общий подход к установке РНР
Сборочное конфигурирование РНР
Директивы конфигурационного файла Apache
Конфигурационный файл php.ini
1.4. Директивы конфигурационного файла Apache Чаще всего PHP-машина используется в виде модуля Apache. Именно такое подключение я описывал выше. В этом случае, по вполне понятным причинам, на конфигурацию PHP-машины оказывают влияние несколько директив конфигурационного файла Apache. Для РНР 4 это директивы httpd.conf и/или .htaccess, приведенные
в табл. 1.10.
Таблица 1.10. Директивы конфигурационного файла Apache
Директива | Действие
| engine boolean | Директива используется только при конфигурации PHP-машины в виде модуля Apache. Используется при необходимости включения-выключения поддержки РНР в отдельных каталогах или виртуальных серверах
| php_value name value | Устанавливает значение заданной переменной
| php_flag name on|off | Используется для установки логического значенияконфигурационного параметра
| php_admin_value name value | Устанавливает значение указанной переменной. Эта команда может использоваться только внутри конфигурационного файла. Применение команд "администратора" внутри файлов .htaccess не допускается
| php_admin_f lag name on|off | Используется для установки логического значения конфигурационного параметра. Значения конфигурационных параметров могут быть просмотрены с помощью встроенной функции phpinfo(). Считать значения отдельных переменных конфигурации можно с помощью функции get_cfg_var ()
|
1.5.Конфигурационный файл php.ini
Конфигурационный файл php.ini, который по умолчанию размещается в каталоге
usr/local/lib, содержит набор параметров конфигурации, позволяющих изменять
поведение PHP-машины без ее перекомпиляции. Этот файл считывается либо единожды при загрузке WWW-сервера, если РНР сконфигурирован в виде модуля
Apache, либо каждый раз при обращении к РНР, если вы сконфигурировали РНР-иашину как CGI.
1.5.1. Общие директивы конфигурации
В табл. 1.11 приведены команды, задающие общие параметры конфигурации, касающиеся размещения и использования файлов и каталогов, управления ресурсами, контроля за ошибками, особенностей оформления кода и т. п.
Таблица 1.11.Общие директивы конфигурации
Директива | Действие
| allow_url_fopen boolean | Этотпараметр разрешает использование URL-ориентированных оберток функции fopen, позволяющей получить доступ к любым URL-объектам, как к обычным файлам. Обертки, используемые по умолчанию, предназначены для реализации доступа к удаленным файлам по протоколам ftp и http. Однако некоторые расширения, такие как, zlib, могут включить в состав РНР и дополнительные обертки, работающие с другими протоколами
| asp_tags boolean | Разрешает использование тегов <% %> в стиле ASP в дополнение к обычным тегам . К ним относится, в частности, сокращение <%= $value %>, предназначенное для печати пары «имя-значение»
| auto_append_file string | Задает имя файла, который автоматически разбирается после окончания анализа основного файла. Этот файл включается аналогично вызову с помощью функции inc Iude () (см. раздел 6.12), что требует использования значения параметра include_path. Специальное значение аргумента nоnе отменяет режим автоматической дозагрузки
| auto_prepend_file string | Задает имя файла, который будет автоматически загружен до основного файла. Этот файл включается аналогично вызову с помощью функции includeO (см. раздел 6.12), что требует использования значения параметра i nclude_path. Специальное значение аргумента попе отменяет режим автоматической дозагрузки
| display_errors boolean | Значение флага определяет, должны ли ошибки, обнаруженные в теле PHP-программы, передаваться в генерируемую HTML-страницу
| doc_root string | Задает «корневой каталог» PHP-машины на сервере. Используется только в том случае, если его значение отлично от пустой строки. Если РНР сконфигурирован в безопасном режиме, обслуживаться будут только файлы, находящиеся в поддереве данного каталога
| error_log string | Указывает имя файла, в котором должны помещаться сообщения об ошибках в программах РНР. Если используется специальное имя syslog, сообщения направляются в системный журнал
| еггоr_repor ting integer | Устанавливает степень детализации сообщений об ошибках
| open_basedir string | Ограничивает дерево файлов, которые могут быть открыты PHP-машиной, заданным фрагментом. Строка может содержать список разрешенных каталогов (корней деревьев), разделенных двоеточиями. Специальное имя .(точка) указывает, что корневым каталогом является тот, в котором расположена вызываемая программа. По умолчанию разрешается открывать все файлы без ограничений
| gpc_order string | Задает порядок разбора переменных GET—>P05T—>СООКIЕ. По умолчанию они анализируются именно в перечисленном порядке, что обозначается строкой GPC. Если же вы установите этот параметр, например, равным GP, это приведет к тому, что РНР будет напрочь игнорировать «плюшки», а переменные, считанные с помощью GET, будут перекрываться одноименными переменными, считываемыми методом POST
| ignore_user_abort string | Параметр по умолчанию включен. Если же его отключить, программы РНР будут завершаться при попытке вывода данных после разрыва соединения со стороны клиента
| include_path string | Задает список каталогов, в которых осуществляется поиск библиотечных и включаемых файлов функциями requi re( ), include( ) и fopen_wi th_path( ). Формат аналогичен используемому для описания переменной окружения PATH. По умолчанию используется значение «.», которое соответствует текущему каталогу
| log_errors boolean | Определяет, должны ли сообщения об ошибках программы помещаться в журнал сервера
| magi c_quotes_gpc boolean | Устанавливает режим «волшебных кавычек» для операций ввода данных методами Get/Post/Cooki е. Если этот режим включен, то все одиночные и двойные кавычки, обратные косые и нулевые (NUL) символы автоматически закрываются обратной косой. Если, кроме того, включен режим magic_quotes_sybase, то одиночная кавычка закрывается не обратной косой, а еще одной одиночной кавычкой
| magic_quotes_runtime boolean | При включении этого режима большая часть функций, возвращающих данные из любого внешнего источника, включая базы данных и текстовые файлы, автоматически закроют возвращаемые кавычки обратными косыми. Если, кроме того, включен режим magi c_quotes_sybase, то одиночная кавычка закрывается не обратной косой, а еще одной одиночной кавычкой
| magic_quotes_sybase boolean | Если включен режим magic_quotes_sybase, то одиночная кавычка закрывается не обратной косой, а еще одной одиночной кавычкой. Работает при включении режимов magic_quotes_gpc и magic_quotes_runtime
| max_execution_time integer | Устанавливает максимальную продолжительность работы программы в секундах, прежде чем она будет принудительно завершена анализатором. Это позволяет предотвратить разбазаривание ресурсов плохо написанными программами пользователей. По умолчанию время допустимой работы составляет 30 секунд
| memory_limi t integer | Устанавливает максимальный объем памяти (в байтах), который может использоваться программой на РНР.Предотвращает разбазаривание ресурсов сервера плохо отлаженными программами
| register_globals boolean | Указывает, необходимо ли регистрировать переменные окружения, сервера и операций GET, POST и Cookie как глобальные переменные РНР-машины
| short_open_tag boolean Р | Разрешает или запрещает использование сокращенной формы тегов РНР-фрагментов — < ? ? > . Если вы планируете использовать РНР совместно с XML, эти теги необходимо запретить. В этом случае вам придется всегда пользоваться парой
| track_errors boolean | Если этот режим включен, в глобальной переменной $рhр_еггогmsg всегда сохраняется последнеесообщение об ошибке
| track_vars boolean | Если этот режим включен — а начиная с 4.0.3 он включен всегда, — переменные окружения, сервера и операций GET/POST/Cooki e помещаются в глобальные хэш-массивы $HTTP_ENV_VAR5, $HTTP GET_VARS, $HTTP_POST_VARS,$HTTP_COOKIE_VARS и $HTTP_SERVER_VARS
| upload_tmp_dir string | Задает временный каталог, используемый для хранения файлов в процессе их загрузки. Должен быть доступен для записи пользователю, под именем которого работает РНР-машина
| user_dir string | Базовое имя дерева каталогов, используемого в качестве домашнего каталога пользователя для хранения РНР-файлов
| warn_plus_overloading boolean | При включении этого режима РНР генерирует предупреждение при попытке применения к строкам оператора сложения (+). Используется для облегчения поиска участков в программе, которые нуждаются в замене оператора сложения на оператор конкатенации (.)
|
1.5.2. Конфигурирование взаимодействия с почтовым сервером
Изначально PHP-машина ориентирована на работу под управлением почтового
агента sendmail, который установлен на любой UNIX-машине. Если же вы пока
еще работаете в Windows или желаете заменить sendmail на другой почтовый агент,
вам потребуется внести в стандартную конфигурацию некоторые коррективы с помощью команд, приведенных в табл. 1.12.
Таблица 1.12. Команды конфигурирования взаимодействия с почтовым сервером
Команда | Действие
| SMMTP string | Доменное имя или IP-адрес сервера SMTP, который используется РНР (только под управлением Windows!) для отправки почты с помощью функции тail ( )(См. раздел 12.1.1)
| sendmail_from string | Задает адрес отправителя (поле From:), используемого при работе РНР под управлением Windows
| sendmail_path string | Если PHP-машине удается обнаружить старую добрую sendmail, ее полное путевое имя автоматически устанавливается по умолчанию. Однако вы можете использовать и другую версию почтового агента, если укажете его полное имя
|
1.5.3. Директивы параметров безопасного режима
Таблица 1.13. Директивы параметров безопасного режима
Команда | Действие
| safe_mode boolean | Указывает, необходимо ли включить безопасный режим работы РНР.
| safe_mode_exec_dir string | При использовании РНР в безопасном режиме функции, подобные system( ) , будут запускать только те программы, которые расположены в данном каталоге
|
1.5.4. Настройка параметров отладчика
Таблица 1.14. Настройка параметров отладчика
Пареметр | Значение
| debugger . host string | Доменное имя или IP-адрес хоста, используемого отладчиком
| debugger . port string | Номер порта, используемый отладчиком
| debugger .enabled boolean | Указывает, разрешено ли использование отладчика
|
1.5.5. Управление загрузкой расширений
Таблица 1.15. Параметры управления загрузкой расширений
Пареметр | Значение
| enable_dl boolean | Эта директива используется при подключении РНР-машины в виде модуля Apache. Вы можете с ее помощью разрешить или запретить загрузку расширений РНР с помощью функции dl ( ) для отдельных виртуальных серверов или каталогов.По умолчанию динамическая загрузка расширений разрешена всегда, за исключением безопасного режима, в котором использование функции dl ( ) запрещено
| extension_dir string | Указывает, в каком каталоге PHP-машина должна искать динамически загружаемые расширения
| extension string | Указывает, какие динамически загружаемые расширения должны подключаться при запуске РНР
|
1.5.6. Конфигурирование MySQL
Эта группа параметров отвечает за настройку интерфейсной части РНР-машины,
обеспечивающей взаимодействие с сервером MySQL (табл. 1.16).
Таблица 1.16. Конфигурирование MySQL
Пареметр | Значение
| mysql. allow_persi stent boolean | Указывает, должны ли допускаться постоянные соединения с сервером MySQL
| mysql. default_host string | Имя хоста сервера MySQL, который используется для подключения к базам данных при отсутствии явного указания имени хоста
| mysql .default_user string | Имя пользователя базы данных MySQL, используемое по умолчанию
| mysql .default_password string | Пароль пользователя базы данных MySQL, используемый по умолчанию
| mysql. max_persistent integer | Максимальное количество постоянных соединений с MySQL, допустимых для одного процесса
| mysql .max_links integer | Общее максимальное количество соединений MySQL на один процесс, включая и постоянные соединения
|
1.5.7. Конфигурирование mSQL
В этом разделе перечислены параметры конфигурации интерфейса с сервером mSQL (табл. 1.17).
Таблица 1.17. Конфигурирование mSQL
Пареметр | Значение
| msql. allow_persi stent boolean | Указывает, разрешается ли создавать постоянные соединения с mSQL-сервером
| msql .max_persi stent integer | Максимальное количество постоянных соединений с mSQL сервером, разрешенных одному процессу
| msql .max_links integer | Общее максимальное количество соединений mSQL на один процесс, включая и постоянные соединения
|
1.5.8. Конфигурирование PostgreSQL
Перечисленные в табл. 1.18 параметры позволяют модифицировать поведение интерфейса СУБД PostgreSQL.
Таблица 1.18. Параметры конфигурирования PostgreSQL
Пареметр | Значение
| pgsql. allow_persistent boolean | Указывает, разрешается ли поддерживать постоянные соединения с сервером PostgreSQL
| pgsql .max_persistent integer | Определяет максимальное количество постоянных соединений, разрешенных для использования одному процессу
| pgsql. max_l inks integer | Указывает общее максимальное количество соединений с сервером PostgreSQL, включая постоянные соединения
|
1.5.9. Конфигурирование SESAM
Таблица 1.19. Команды конфигурирования SESAM
Каманда | Действие
| sesam_oml string | Как правило, само имя библиотеки BS2000 PLAM содержит имя загружаемого модульного драйвера SESAM. Эта библиотека необходима для получения доступа к функциям SESAM
| sesam_conf igfile string | Задает имя конфигурационного файла приложений SESAM. Необходим для работы функций СУБД. Этот файл должен быть доступен для чтения псевдопользователю, от имени которого выступает сервер Apache
| sesam_nessagecatalog string | Задает имя каталога, в котором хранятся файлы сообщений SESAM. В большинстве случаев при штатной установке SESAM использовать эту директиву не нужно
|
1.5.10. Конфигурирование Sybase
Таблица 1.20. Параметры конфигурирования Sybase
Параметр | Значение
| Sybase. allow_persi stent boolean | Указывает, разрешается ли создавать постоянные соединения с сервером Sybase
| sybase. max_pers is tent integer | Максимальное количество постоянных соединений с сервером Sybase, разрешенное одному процессу
| Sybase. max_l inks integer | Общее максимальное количество соединений с сервером Sybase в расчете на один процесс, включая и постоянные соединения
|
1.5.11. Конфигурирование Informix
Таблица 1.21. Параметры
Параметр | Значение
| ifx.allow_persitent boolean | Указывает, разрешается ли установление постоянных соединений с сервером Informix
| ifx.max_persistent integer | Максимальное количество постоянных соединений с сервером Informix, разрешенных для выделения одному процессу
| ifx.max_links integer | Общее максимальное количество соединений с сервером Informix, доступных одному процессу. В это число входят и постоянные соединения
| ifx .def ault_host string | Имя хоста, подставляемое по умолчанию, когда в вызовах ifx_connect ( ) или ifx_pconnect ( ) не указано имя хоста
| ifx .def ault_user string | Имя пользователя, используемого по умолчанию. Подставляется, когда в вызовах ifx_connect( ) или ifx_pconnect ( ) не указано имя пользователя
| ifx .def ault_pas sword string | Пароль, подставляемый по умолчанию в тех случаях, когда в вызовах i fx_connect ( ) или ifx_pconnect ( ) не указан пароль
| ifx. blob infile boolean | Устанавливается в true, если вы хотите, чтобы BLOB-объекты возвращались через файлы, или false, если вы хотите, чтобы они загружались в память. Вы можете перекрыть эту установку во время исполнения программы с помощью функции ifx_blobinfile_mode( )
| ifx.textasvarchar boolean | Устанавливается в true, если вы хотите чтобы поля типа TEXT возвращались как обычные строки при выполнении запросов select, или faIse, если вы хотите получать вместо этого идентификаторы BLOB-объектов. Вы можете перекрыть эту установку во время выполнения программы с помощью функции ifx_textasvarchar( )
| ifx.byteasvarchar boolean | Устанавливается в true, если вы хотите чтобы поля типа BYTE при вызове select возвращались как обычные строки, или false, если вы хотите получать вместо этого идентификаторы BLOB-объектов. Вы можете перекрыть эту установку во время выполнения программы с помощью функции fx_textasvarchar( )
| ifx.charasvarchar boolean | Устанавливается в true, если вы хотите при загрузке данных типа CHAR обрезать пробелы в конце строк
| ifx . nullformat boolean | Устанавливается в true, если вы хотите, чтобы незаполненные (NULL) поля возвращались в виде строки литер «NULL», или false, если вы хотите, чтобы возвращалась пустая строка «». Вы можете перекрыть эту установку во время выполнения программы с помощью функции ifx_nullformat ( )
|
1.5.12. Настройка математического аппарата
Команда | Действие
| bcmath.scale integer | Устанавливает количество десятичных знаков после запятой, используемых во всех функциях, основанных на библиотеке bcmath
|
1.5.13. Конфигурирование списка возможностей клиентских программ
Команда | Действие
| browscap string | Задает имя файла, в котором хранится список параметров программы-навигатора. См. также get_browser( )
|
1.5.14. Команды настройки ODBC
Таблица 1.22. Параметры настройки ODBC
Параметр | Значение
| uodbc .default_db string | Источник данных ODBC, используемый по умолчанию в вызовах odbc_connect( ) и odbc_pconnect()
| uodbc. default_user string | Имя пользователя, подставляемое по умолчанию в вызовы odbc_connect () и odbc_pconnect ()uodbc . default_pw string Пароль, подставляемый по умолчанию в вызовы функций odbc_connect( ) и odbc_pconnect( )
| uodbc.default_pw string | Пароль подстовляемой по умолчанию и вызовы функции odbc_connect() и odbc_pconnect()
| uodbc .max_persistent integer | Указывает, разрешается ли устанавливать постоянные ODBC-соединения
| uodbc . allow_persi stent boolean | Максимальное количество постоянных ODBC-соединений, разрешаемых одному процессу
| uodbc. max_links integer | Общее максимальное количество ODBC-соединений, выделяемых одному процессу, включая постоянные соединения
|
|