| |||||||||||||||||||||
Глава 3. Конфигурирование
Файл конфигурацииФайл конфигурации (php3.ini в PHP 3.0 и просто php.ini в PHP 4.0) читается при старте PHP. Для версий серверных модулей PHP это происходит один раз при старте web-сервера. Для CGI и CLI-версий это происходит при каждом вызове. По умолчанию php.ini размещается как опция времени компиляции (см. FAQ), но местоположение может быть изменено для CGI и CLI-версий ключом командной строки -c (см. главу об использовании PHP из командной строки. Вы можете использовать также переменную окружения PHPRC для добавления пути поиска php.ini. При использовании PHP как Apache-модуля вы можете также изменить установки конфигурации, используя директивы файлов конфигурации Apache и файлы .htaccess. Вам для этого необходимы привилегии "AllowOverride Options" или "AllowOverride All"). Для PHP 3.0 имеются директивы Apache, которые соответствуют каждому имени установки конфигурации в php3.ini, исключая имена с префиксом "php3_". Для PHP 4.0 имеются несколько директив Apache, которые позволяют изменять конфигурацию PHP и в самом файле конфигурации Apache.
Вы можете увидеть значения конфигурации на выводе phpinfo(). Можно также получить доступ к значениям отдельных установок конфигурации с помощью get_cfg_var(). Главные директивы конфигурации
Делает возможным использование ASP-подобных тэгов <% %> в дополнение к обычным тэгам <?php ?>. Сюда входит также аббревиатура для печати значения переменной <%= $value %>. дополнительно см. Выход из HTML.
Специфицирует имя файла, автоматически разбираемого после главного/main файла. Этот файл подключается так, как если бы он был вызван функцией include(), так что используется include_path. Специальное значение none отключает автоподключение.
Специфицирует имя файла, автоматически разбираемого до главного/main файла. Этот файл подключается так, как если бы он был вызван функцией include(), так что используется include_path. Специальное значение none отключает автоподключение. Определяет, печатаются ли ошибки на экране как часть HTML-вывода, или нет. "Корневая директория" PHP на сервере. Используется, если не пустая. Если PHP сконфигурирован с safe mode, никакие файлы вне этой директории не обслуживаются. Реально эта директива используется только в версии Apache-модуля PHP. Она используется сайтами, которым необходимо включать и выключать PHP-разбор на уровне директорий и на уровне виртуальных серверов. Поместив engine off в соответствующие места в файле httpd.conf, можно отключать (и подключать) PHP. Имя файла для записи ошибок скриптов. Если используется специальное значение syslog, ошибки посылаются в системный logger. В UNIX это syslog(3), а в Windows NT это event log. Системный logger не поддерживается в Windows 95. Установить уровень сообщения ошибок. Это целочисленный параметр - битовое поле. Добавьте необходимое значение уровня ошибок. Таблица 3-1. Уровни сообщения об ошибках
Эта директива имеет по умолчанию значение 7 (выводятся нормальные ошибки, нормальные предупреждения и ошибки разборщика). Отключает тэги HTML в сообщениях об ошибках. Ограничивает файлы, которые могут быть открыты в PHP специфицированным деревом директорий. Когда скрипт пытается открыть файл с помощью, например, fopen или gzopen, проверяется расположение файла. Если файл находится вне специфицированного дерева директорий, PHP его не откроет. Все символические ссылки разрешаются, поэтому это ограничение невозможно обойти с помощью symlink. Специальное значение . указывает, что директория, в которой хранится скрипт, будет использоваться как базовая директория/base-directory. В Windows разделяйте директории точкой с запятой. На всех других системах - двоеточием. При использовании в качестве Apache-модуля, автоматически наследуются пути open_basedir из родительских директорий. Ограничение, специфицируемое с помощью open_basedir, это в действительности префикс, а не имя директории. Это означает, что "open_basedir = /dir/incl" даёт также доступ к "/dir/include" и "/dir/incls", если таковые существуют. Если вы хотите ограничить доступ только для одной конкретной директории, завершайте его слэшем. Например: "open_basedir = /dir/incl/"
По умолчанию разрешено открывать все файлы. Устанавливает порядок разбора переменных GET/POST/COOKIE. Значение по умолчанию этой директивы: "GPC". Установка "GP", например, заставит PHP полностью игнорировать куки и перезаписывать любые переменные метода GET на переменные метода POST с теми же именами. Обратите внимание, что эта опция отсутствует в PHP 4. Вместо неё используйте variables_order. Устанавливает порядок EGPCS (Environment, GET, POST, Cookie, Server) для разбора переменных. Значение по умолчанию: "EGPCS". Установка "GP", например, заставит РНР полностью игнорировать переменные окружения, куки и серверные переменные и перезаписывать любые переменные метода GET на переменные метода POST с теми же именами. См. также register_globals TRUE по умолчанию. Если изменить на FALSE, скрипты будут прерываться, как только они попытаются вывести что-нибудь после того как клиент разорвал соединение. См. также ignore_user_abort(). FALSE по умолчанию. Изменение на TRUE заставляет PHP сообщить слою вывода, что он должен очищаться автоматически после каждого блока вывода. Это равносильно вызову PHP-функции flush() после каждого вызова print() или echo() и после каждого HTML-блока. При использовании PHP внутри web-среды, включение этой опции значительно снижает производительность и обычно рекомендуется только при отладке. Это значение по умолчанию устанавливается в TRUE, если работа идёт под CLI SAPI. Специфицирует список директорий, где функции require(), include() и fopen_with_path() ищут файлы. Формат напоминает системную переменную окружения PATH: список директорий, разделённых двоеточием в UNIX или точкой запятой - в Windows.
Значение по умолчанию: . (только текущая директория). Должны ли сообщения об ошибках скриптов записываться в error log сервера. Таким образом, эта опция специфична для сервера. Устанавливает статус magic_quotes для GPC-операций (Get/Post/Cookie). Когда magic_quotes включены, все ' (одинарные кавычки), " (двойные кавычки), \ (обратные слэши) и NUL мнемонизируются обратными слэшами автоматически. Если magic_quotes_sybase также включена, одинарные кавычки escape-ируются одинарной кавычкой вместо backslash. Если magic_quotes_runtime включена, большинство функций, возвращающих данные из внешнего источника любого рода, включая БД и текстовые файлы, будут иметь кавычки, мнемонизированные с помощью обратных слэшей. Если magic_quotes_sybase также включена, одинарные кавычки escape-ируются одинарной кавычкой вместо backslash. Если magic_quotes_sybase также включена, одинарные кавычки мнемонизируются одинарной кавычкой вместо backslash, если magic_quotes_gpc или magic_quotes_runtime включена. Устанавливает максимальное время работы скрипта в секундах, до того как он будет остановлен разборщиком. Это предотвращает перегрузку сервера плохо написанными скриптами. Значение по умолчанию 30. На максимальное время выполнения не влияют системные вызовы, функция sleep() etc. Пожалуйста, см. детали в описании функции set_time_limit(). Устанавливает максимальное количество памяти в байтах, которое скрипт может занимать. Это предотвращает поглощение неправильно написанными скриптами всей доступной памяти сервера. Количество значащих цифр, выводимых в числах с плавающей точкой. Говорит PHP, объявлять ли переменные argv и argc (которые будут содержать GET-информацию). См. также "командная строка". Эта директива стала доступна в PHP 4.0.0, а до этого была всегда "on". Устанавливает максимальный допустимый размер post-данных. Эта установка влияет также на загрузку файлов. Для загрузки больших файлов this это значение должно быть выше, чем upload_max_filesize. Если лимит памяти включён в скрипте конфигурации, memory_limit также влияет на загрузку файлов. В общем, memory_limit должен быть больше, чем post_max_size. Говорит, регистрировать ли EGPCS-переменные (Environment, GET, POST, Cookie, Server) как глобальные переменные. Вам может понадобиться выключить эту возможность, если вы не хотите смешивать глобальную область видимости вашего скрипта с пользовательскими данными. Это заметнее, если используется track_vars - в этом случае вы можете иметь доступ ко всем EGPCS-переменным через массивы $_ENV, $_GET, $_POST, $_COOKIE и $_SERVER в глобальной области видимости/scope. Обратите внимание, что вы должны установить AllowOveride All в вашем блоке Directory файла конфигурации Аpache, чтобы эта опция работала. Разрешает/запрещает использование сокращённой формы открывающих тэгов РНР (<? ?>). Если вы хотите использовать PHP в сочетании с XML, вы должны отключить эту опцию. Тогда вам необходимо будет использовать длинную форму открывающего тэга (<?php ?> ). Если включена, последнее сообщение об ошибке всегда будет находиться в глобальной переменной $php_errormsg. Если включена, то переменные Environment, GET, POST, Cookie и Server в глобальных ассоциативных массивах $_ENV, $_GET, $_POST, $_COOKIE и $_SERVER. Обратите внимание, что в PHP 4.0.3 track_vars всегда on. Временная директория, используемая для хранения файлов при их загрузке. Обязана иметь право на запись для любого пользователя, запускающего PHP. Максимальный размер загружаемого файла. Значение в байтах. Базовое имя директории, используемой как пользовательская home-директория для PHP-файлов, например, public_html. Если включена, заставляет PHP выводить предупреждения, когда операция "плюс" (+) используется со строками. Это облегчает поиск скриптов, которые нужно переписать для использования конкатенатора строк ( .). Директивы конфигурации Безопасного Режима/Safe Mode
Директивы конфигурации отладчика
Директивы загрузки расширений
Директивы конфигурации mSQL
Директивы конфигурации Postgres
Директивы конфигурации SESAM
Директивы конфигурации Sybase
Директивы конфигурации Sybase-CT
Директивы конфигурации Informix
Директивы конфигурации BC Math
Директивы конфигурации Browser Capability
Директивы конфигурации Multi-Byte String
Директивы конфигурации ExifExif поддерживает автоматическую конвертацию кодировок символов Unicode и JIS пользовательских комментариев, когда модуль mbstring доступен. При этом комментарий сначала декодируется с использованием специфицированного набора символов. Затем результат кодируется в другом наборе символов, который должен совпадать с вашим HTTP-выводом.
| |||||||||||||||||||||
|