PHP-4 Эффективная работа


Извлечение дистрибутива
Общий подход к установке РНР
Сборочное конфигурирование РНР
Директивы конфигурационного файла 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-соединений, выделяемых одному процессу, включая постоянные соединения

назад
далее

Сайт управляется системой uCoz