Главная Свежие Последние Лучшие Контактная информация  
 
 


Начнем » Файл конфигурации
Файл конфигурации (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.

Пример 3-1. php.ini

; любой текст в строке после незакавыченного символа ; игнорируется
[php] ; маркёры раздела (текст в квадратных скобках) также игнорируются
; Boolean-значения могут быть установлены в true, on, yes
; или в false, off, no, none
register_globals = off
magic_quotes_gpc = yes

; вы можете заключать строки в двойные кавычки
include_path = ".:/usr/local/lib/php"

; обратные слэши (\) рассматриваются так же, как любой другой символ
include_path = ".;c:\php\lib"



При использовании PHP как Apache-модуля вы можете также изменить установки конфигурации, используя директивы файлов конфигурации Apache и файлы .htaccess. Вам для этого необходимы привилегии "AllowOverride Options" или "AllowOverride All").

Для PHP 3.0 имеются директивы Apache, которые соответствуют каждому имени установки конфигурации в php3.ini, исключая имена с префиксом "php3_".

Для PHP 4.0 имеются несколько директив Apache, которые позволяют изменять конфигурацию PHP и в самом файле конфигурации Apache.

php_value name value
Устанавливает значение специфицированной переменной.

php_flag name on|off
Используется для установки булевой опции конфигурации.

php_admin_value name value
Устанавливает значение специфицированной переменной. Установки конфигурации "Admin" могут устанавливаться только в главных файлах конфигурации Apache, но не в .htaccess-файлах.

php_admin_flag name on|off
Используется для установки булевой опции конфигурации.

Пример 3-2. Пример конфигурации Apache
<IfModule mod_php4.c>
php_value include_path ".:/usr/local/lib/php"
php_flag safe_mode on
</IfModule>
<IfModule mod_php3.c>
php3_include_path ".:/usr/local/lib/php"
php3_safe_mode on
</IfModule>



Вы можете увидеть значения конфигурации на выводе phpinfo(). Можно также получить доступ к значениям отдельных установок конфигурации с помощью get_cfg_var().

Главные директивы конфигурации
allow_url_fopen boolean
Эта опция включает знающие об URL fopen-оболочки, которые делают возможным доступ к URL-объектам наподобие файлов. Оболочки по умолчанию предоставляются для доступа к удалённым файлам через использование протокола ftp или http, некоторые расширения наподобие zlib могут регистрировать дополнительные оболочки.

Примечание: эта опция была введена сразу после появления версии 4.0.3. Для версий до 4.0.3 включительно вы можете только отключать эту возможность на этапе компиляции, используя ключ конфигурации --disable-url-fopen-wrapper.

Предупреждение!
В Windows следующие функции не поддерживают доступ к удалённым файлам: include(), include_once(), require() и require_once().


asp_tags boolean
Делает возможным использование ASP-подобных тэгов <% %> в дополнение к обычным тэгам <?php ?>. Сюда входит также аббревиатура для печати значения переменной <%= $value %>. дополнительно см. Выход из HTML.

Примечание: поддержка тэгов в стиле ASP была введена в версии 4.0.3.

auto_append_file string
Специфицирует имя файла, автоматически разбираемого после главного/main файла. Этот файл подключается так, как если бы он был вызван функцией include(), так что используется include_path.

Специальное значение none отключает автоподключение.

Примечание: если скрипт завершается с помощью exit(), автоподключения не будет.

auto_prepend_file string
Специфицирует имя файла, автоматически разбираемого до главного/main файла. Этот файл подключается так, как если бы он был вызван функцией include(), так что используется include_path.

Специальное значение none отключает автоподключение.

cgi_ext string

display_errors boolean
Определяет, печатаются ли ошибки на экране как часть HTML-вывода, или нет.

doc_root string
"Корневая директория" PHP на сервере. Используется, если не пустая. Если PHP сконфигурирован с safe mode, никакие файлы вне этой директории не обслуживаются.

engine boolean
Реально эта директива используется только в версии Apache-модуля PHP. Она используется сайтами, которым необходимо включать и выключать PHP-разбор на уровне директорий и на уровне виртуальных серверов. Поместив engine off в соответствующие места в файле httpd.conf, можно отключать (и подключать) PHP.

error_log string
Имя файла для записи ошибок скриптов. Если используется специальное значение syslog, ошибки посылаются в системный logger. В UNIX это syslog(3), а в Windows NT это event log. Системный logger не поддерживается в Windows 95.

error_reporting integer
Установить уровень сообщения ошибок. Это целочисленный параметр - битовое поле. Добавьте необходимое значение уровня ошибок.

Таблица 3-1. Уровни сообщения об ошибках
битовое поле включает сообщение о
1 нормальных ошибках
2 нормальных предупреждениях
4 ошибка разборщика
8 некритичные стилевые предупреждения

Эта директива имеет по умолчанию значение 7 (выводятся нормальные ошибки, нормальные предупреждения и ошибки разборщика).


html_errors boolean
Отключает тэги HTML в сообщениях об ошибках.

open_basedir string
Ограничивает файлы, которые могут быть открыты в 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/"

Примечание: поддержка нескольких директорий была введена в 3.0.7.

По умолчанию разрешено открывать все файлы.

gpc_order string
Устанавливает порядок разбора переменных GET/POST/COOKIE. Значение по умолчанию этой директивы: "GPC". Установка "GP", например, заставит PHP полностью игнорировать куки и перезаписывать любые переменные метода GET на переменные метода POST с теми же именами.

Обратите внимание, что эта опция отсутствует в PHP 4. Вместо неё используйте variables_order.

variables_order string
Устанавливает порядок EGPCS (Environment, GET, POST, Cookie, Server) для разбора переменных. Значение по умолчанию: "EGPCS". Установка "GP", например, заставит РНР полностью игнорировать переменные окружения, куки и серверные переменные и перезаписывать любые переменные метода GET на переменные метода POST с теми же именами.

См. также register_globals

ignore_user_abort boolean
TRUE по умолчанию. Если изменить на FALSE, скрипты будут прерываться, как только они попытаются вывести что-нибудь после того как клиент разорвал соединение.

См. также ignore_user_abort().

implicit_flush boolean
FALSE по умолчанию. Изменение на TRUE заставляет PHP сообщить слою вывода, что он должен очищаться автоматически после каждого блока вывода. Это равносильно вызову PHP-функции flush() после каждого вызова print() или echo() и после каждого HTML-блока.

При использовании PHP внутри web-среды, включение этой опции значительно снижает производительность и обычно рекомендуется только при отладке. Это значение по умолчанию устанавливается в TRUE, если работа идёт под CLI SAPI.

include_path string
Специфицирует список директорий, где функции require(), include() и fopen_with_path() ищут файлы. Формат напоминает системную переменную окружения PATH: список директорий, разделённых двоеточием в UNIX или точкой запятой - в Windows.Пример 3-3. UNIX include_path
include_path=.:/home/httpd/php-lib


Пример 3-4. Windows include_path
include_path=".;c:\www\phplib"




Значение по умолчанию: . (только текущая директория).

isapi_ext string
log_errors boolean
Должны ли сообщения об ошибках скриптов записываться в error log сервера. Таким образом, эта опция специфична для сервера.

magic_quotes_gpc boolean
Устанавливает статус magic_quotes для GPC-операций (Get/Post/Cookie). Когда magic_quotes включены, все ' (одинарные кавычки), " (двойные кавычки), \ (обратные слэши) и NUL мнемонизируются обратными слэшами автоматически. Если magic_quotes_sybase также включена, одинарные кавычки escape-ируются одинарной кавычкой вместо backslash.

magic_quotes_runtime boolean
Если magic_quotes_runtime включена, большинство функций, возвращающих данные из внешнего источника любого рода, включая БД и текстовые файлы, будут иметь кавычки, мнемонизированные с помощью обратных слэшей. Если magic_quotes_sybase также включена, одинарные кавычки escape-ируются одинарной кавычкой вместо backslash.

magic_quotes_sybase boolean
Если magic_quotes_sybase также включена, одинарные кавычки мнемонизируются одинарной кавычкой вместо backslash, если magic_quotes_gpc или magic_quotes_runtime включена.

max_execution_time integer
Устанавливает максимальное время работы скрипта в секундах, до того как он будет остановлен разборщиком. Это предотвращает перегрузку сервера плохо написанными скриптами. Значение по умолчанию 30.

На максимальное время выполнения не влияют системные вызовы, функция sleep() etc. Пожалуйста, см. детали в описании функции set_time_limit().

memory_limit integer
Устанавливает максимальное количество памяти в байтах, которое скрипт может занимать. Это предотвращает поглощение неправильно написанными скриптами всей доступной памяти сервера.

nsapi_ext string
precision integer
Количество значащих цифр, выводимых в числах с плавающей точкой.

register_argc_argv boolean
Говорит PHP, объявлять ли переменные argv и argc (которые будут содержать GET-информацию).

См. также "командная строка". Эта директива стала доступна в PHP 4.0.0, а до этого была всегда "on".

post_max_size integer
Устанавливает максимальный допустимый размер post-данных. Эта установка влияет также на загрузку файлов. Для загрузки больших файлов this это значение должно быть выше, чем upload_max_filesize.

Если лимит памяти включён в скрипте конфигурации, memory_limit также влияет на загрузку файлов. В общем, memory_limit должен быть больше, чем post_max_size.

register_globals boolean
Говорит, регистрировать ли EGPCS-переменные (Environment, GET, POST, Cookie, Server) как глобальные переменные. Вам может понадобиться выключить эту возможность, если вы не хотите смешивать глобальную область видимости вашего скрипта с пользовательскими данными. Это заметнее, если используется track_vars - в этом случае вы можете иметь доступ ко всем EGPCS-переменным через массивы $_ENV, $_GET, $_POST, $_COOKIE и $_SERVER в глобальной области видимости/scope.

Обратите внимание, что вы должны установить AllowOveride All в вашем блоке Directory файла конфигурации Аpache, чтобы эта опция работала.

short_open_tag boolean
Разрешает/запрещает использование сокращённой формы открывающих тэгов РНР (<? ?>). Если вы хотите использовать PHP в сочетании с XML, вы должны отключить эту опцию. Тогда вам необходимо будет использовать длинную форму открывающего тэга (<?php ?> ).

sql.safe_mode boolean
track_errors boolean
Если включена, последнее сообщение об ошибке всегда будет находиться в глобальной переменной $php_errormsg.

track_vars boolean
Если включена, то переменные Environment, GET, POST, Cookie и Server в глобальных ассоциативных массивах $_ENV, $_GET, $_POST, $_COOKIE и $_SERVER.

Обратите внимание, что в PHP 4.0.3 track_vars всегда on.

upload_tmp_dir string
Временная директория, используемая для хранения файлов при их загрузке. Обязана иметь право на запись для любого пользователя, запускающего PHP.

upload_max_filesize integer,
Максимальный размер загружаемого файла. Значение в байтах.

user_dir string
Базовое имя директории, используемой как пользовательская home-директория для PHP-файлов, например, public_html.

warn_plus_overloading boolean
Если включена, заставляет PHP выводить предупреждения, когда операция "плюс" (+) используется со строками. Это облегчает поиск скриптов, которые нужно переписать для использования конкатенатора строк ( .).

Директивы конфигурации Безопасного Режима/Safe Mode
safe_mode boolean
Включает/отключает безопасный режим PHP. Дополнительно см. главы Безопасность и Безопасный Режим.

safe_mode_gid boolean
Использовать ли проверку UID (FALSE) или GID (TRUE) после доступа к файлам. См. Безопасный Режим.

safe_mode_exec_dir string
Если PHP используется в безопасном режиме, system() и другие функции, выполняющие системные программы, не стартуют программы, которые находятся вне данной директории.

safe_mode_include_dir string
Проверки UID/GID пропускаются, когда файлы подключаются из данной директории и её поддиректорий (директория также обязана находиться в include_path, или должен вводиться полный путь).

Директивы конфигурации отладчика
debugger.host string
DNS-имя или IP-адрес хоста, используемого отладчиком.

debugger.port string
Номер порта, используемого отладчиком.

debugger.enabled boolean
Включён ли отладчик.

Директивы загрузки расширений
enable_dl boolean
Данная директива реально используется только в версии Apache-модуля PHP. Вы можете включать/выключать динамическую загрузку расширений PHP с помощью dl() на уровне виртуального сервера или директории.

Главной причиной выключения динамической загрузки является безопасность. При динамической загрузке имеется возможность игнорировать все ограничения safe_mode и open_basedir.

По умолчанию динамическая загрузка разрешена, исключая использование safe-mode. В safe-mode всегда отсутствует возможность использования dl().

extension_dir string
В какой директории PHP должен искать динамически загружаемые расширения.

extension string
Какие динамически загружаемые расширения загружать при старте PHP.

Директивы конфигурации mSQL
msql.allow_persistent boolean
Разрешены ли постоянные mSQL-соединения.

msql.max_persistent integer
Максимальное количество постоянных mSQL-соединений на процесс.

msql.max_links integer
Максимальное количество mSQL-соединений на процесс, включая постоянные соединения.

Директивы конфигурации Postgres
pgsql.allow_persistent boolean
Разрешены ли постоянные Postgres-соединения.

pgsql.max_persistent integer
Максимальное количество постоянных Postgres-соединений на процесс.

pgsql.max_links integer
Максимальное количество Postgres-соединений на процесс, включая постоянные соединения.

Директивы конфигурации SESAM
sesam_oml string
Имя BS2000 PLAM-библиотеки, содержащей загружаемые модули драйвера SESAM. Необходимо для использования функций SESAM. Библиотека BS2000 PLAM обязана быть установлена ACCESS=READ,SHARE=YES, поскольку она обязана читаться user id идентификатором Аpache-сервера.

sesam_configfile string
Имя файла конфигурации приложения SESAM. Необходимо для использования SESAM-функций. Файл BS2000 обязан читаться user id идентификатором Аpache-сервера.

Файл конфигурации приложения обычно содержит конфигурацию наподобие (см. учебник-справочник SESAM):


CNF=B
NAM=K
NOTYPE


sesam_messagecatalog string
Имя файла каталога сообщений SESAM. В большинстве случаев эта директива не нужна. Только если файл сообщений SESAM не установлен в таблице системного файла сообщений BS2000, оно может быть установлено этой директивой.

Каталог сообщений обязан иметь установки ACCESS=READ,SHARE=YES, поскольку он обязан читаться user id идентификатором Аpache-сервера.

Директивы конфигурации Sybase
sybase.allow_persistent boolean
Разрешены ли постоянные Sybase-соединения.

sybase.max_persistent integer
Максимальное количество постоянных Sybase-соединений на процесс.

sybase.max_links integer
Максимальное количество Sybase-соединений на процесс, включая постоянные соединения.

Директивы конфигурации Sybase-CT
sybct.allow_persistent boolean
Разрешены ли постоянные Sybase-CT-соединения. По умолчанию on.

sybct.max_persistent integer
Максимальное количество постоянных Sybase-СТ-соединений на процесс. По умолчанию -1, что означает "без ограничений".

sybct.max_links integer
Максимальное количество Sybase-СТ-соединений на процесс, включая постоянные соединения. По умолчанию -1, что означает "без ограничений".

sybct.min_server_severity integer
Сообщения сервера с уровнем серьёзности более или равном sybct.min_server_severity будут выводиться как предупреждения/warnings. Это значение может также быть установлено из скрипта через вызов sybase_min_server_severity(). По умолчанию 10, что сообщает об ошибках уровня information или выше.

sybct.min_client_severity integer
Сообщения клиентской библиотеки с уровнем серьёзности равным или больше sybct.min_client_severity будут выводиться как предупреждения. Это значение может также быть установлено из скрипта через вызов sybase_min_server_severity(). По умолчанию 10, что отключает сообщения.

sybct.login_timeout integer
Максимальный период в секундах ожидания успешного соединения, до того как возвратить failure/неудачное выполнение. Обратите внимание, что, если max_execution_time истёк при попытке таймаута соединения, выполнение вашего скрипта будет прервано до того как он предпримет действия при неудачной попытке соединения. По умолчанию - одна минута.

sybct.timeout integer
Максимальный период в секундах ожидания успешного выполнения select_db или операции запроса/query, до того как возвратить failure/неудачное выполнение. Обратите внимание, что, если max_execution_time истёк, когда операция взяла таймаут, выполнение вашего скрипта будет прервано до того как он предпримет действия при неудачной попытке соединения. По умолчанию ограничения нет.

sybct.hostname string
Имя хоста, соединения с которым вы требуете, для вывода в sp_who. По умолчанию none.

Директивы конфигурации Informix
ifx.allow_persistent boolean
Разрешены ли постоянные Informix-соединения.

ifx.max_persistent integer
Максимальное количество постоянных Informix-соединений на процесс.

ifx.max_links integer
Максимальное количество Informix-соединений на процесс, включая постоянные соединения.

ifx.default_host string
Хост по умолчанию для соединения, если никакой хост не специфицирован в ifx_connect() или в ifx_pconnect().

ifx.default_user string
Идентификатор user id по умолчанию, если none специфицирован в ifx_connect() или в ifx_pconnect().

ifx.default_password string
Пароль/password для использования по умолчанию, если none специфицирован в ifx_connect() или в ifx_pconnect().

ifx.blobinfile boolean
Установите TRUE, если хотите возвратить blob-столбцы в файле, и FALSE, если возвратить в памяти. Вы можете переопределять эту установку на этапе прогона с помощью ifx_blobinfile_mode().

ifx.textasvarchar boolean
Установите TRUE, если хотите возвратить TEXT-столбцы как нормальные строки в выбранных операторах, и FALSE, если хотите использовать blob id параметры. Вы можете переопределять эту установку на этапе прогона с помощью ifx_textasvarchar().

ifx.byteasvarchar boolean
Установите TRUE, если хотите возвратить BYTE-столбцы как нормальные строки в выбранных запросах/queries, и FALSE, если хотите использовать blob id параметры. Вы можете переопределять эту установку на этапе прогона с помощью ifx_textasvarchar().

ifx.charasvarchar boolean
Установите TRUE, если хотите удалить ведомые пробелы из CHAR-столбцов при их получении.

ifx.nullformat boolean
Установите TRUE, если хотите возвратить NULL-столбцы как литеральные строки "NULL", и FALSE, если хотите возвратить их как пустую строку "". Вы можете переопределять эту установку на этапе прогона с помощью ifx_nullformat().

Директивы конфигурации BC Math
bcmath.scale integer
Количество десятичных цифр для всех bcmath-функций.

Директивы конфигурации Browser Capability
browscap string
Имя browser capabilities-файла. См. также get_browser().

Директивы конфигурации Multi-Byte String
mbstring.internal_encoding string
mbstring.internal_encoding - определяет внутреннюю кодировку символов по умолчанию.

mbstring.http_input string
mbstring.http_input - определяет кодировку символов по умолчанию для HTTP-ввода.

mbstring.http_output string
mbstring.http_output - определяет кодировку символов по умолчанию для HTTP-вывода.

mbstring.detect_order string
mbstring.detect_order - определяет порядок определения кодировки символов по умолчанию.

mbstring.substitute_character string
mbstring.substitute_character - определяет символ для замещения неверных кодов символов.

Директивы конфигурации Exif
Exif поддерживает автоматическую конвертацию кодировок символов Unicode и JIS пользовательских комментариев, когда модуль mbstring доступен. При этом комментарий сначала декодируется с использованием специфицированного набора символов. Затем результат кодируется в другом наборе символов, который должен совпадать с вашим HTTP-выводом.


exif.encode_unicode string
exif.encode_unicode - определяет набор символов UNICODE при обработке пользовательских комментариев. По умолчанию это ISO-8859-15, который должен работать в большинстве не-азиатских стран. Эта установка может быть пустой или обязана быть кодировкой, поддерживаемой mbstring. Если она пустая, используется текущая внутренняя кодировка mbstring.

exif.decode_unicode_motorola string
exif.decode_unicode_motorola - определяет внутреннюю кодировку символов изображения для Unicode-кодированных пользовательских комментариев, если изображение/image имеет байтовый порядок motorola (big-endian). Эта установка не может быть пустой, но вы можете специфицировать список кодировок, поддерживаемых mbstring. По умолчанию UCS-2BE.

exif.decode_unicode_intel string
exif.decode_unicode_intel - определяет внутреннюю кодировку символов изображения для Unicode-кодированных пользовательских комментариев, если изображение имеет байтовый порядок intel (little-endian). Эта установка не может быть пустой, но вы можете специфицировать список кодировок, поддерживаемых mbstring. По умолчанию UCS-2BE. UCS-2LE.

exif.encode_jis string
exif.encode_jis - определяет набор символов JIS для обработки пользовательских комментариев. По умолчанию - пустое значение, которое форсирует использование функцией текущей внутренней кодировки mbstring.

exif.decode_jis_motorola string
exif.decode_jis_motorola - определяет внутреннюю кодировку символов изображения для JIS-кодированных пользовательских комментариев, если изображение имеет байтовый порядок motorola (big-endian). Эта установка не может быть пустой, но вы можете специфицировать список кодировок, поддерживаемых mbstring. По умолчанию JIS.

exif.decode_jis_intel string
exif.decode_jis_intel - определяет внутреннюю кодировку символов изображения для JIS-кодированных пользовательских комментариев, если изображение имеет байтовый порядок intel (little-endian). Эта установка не может быть пустой, но вы можете специфицировать список кодировок, поддерживаемых mbstring. По умолчанию JIS.

Добавить в закладки:

 

теги: php.ini, конфигурация, php
 

  Еще статьи
aspell_new 174
getallheaders 175
Массивы: array_multisort 187
FrenchToJD 173
bzopen 161
 


  Категории
Начнем 13
Справочник языка 89
Возможности 12
Функции 142
Расширение PHP 4.0 0
FAQ 0
 

  Теги
 

  Лучшее на сайте
Безопасность: Скрытие PHP 472
Что такое PHP? 446
Безопасность: Данные, отправляемые пользователем 373
foreach 354
Файл конфигурации 333
Безопасность: Безопасность баз данных 333
Операции: Строковые операции 310
Безопасность: CGI-двоичный 305
Безопасность: Безопасность файловой системы 298
Безопасность: Обзор 291
 

  Друзья сайта
Для Вас детские, женские и мужские фигурные коньки, распродажа, Москва.
автолестницы
 

  Интересное
 

 
Использование материалов только при активной гиперссылке "http://iamcoder.net"
Copyright 2008 http://iamcoder.net Серия сайтов: "Стань умным!".