- • Модуль mod_rewrite - URL преобр.
- • Директива модуля - RewriteRule flags
- • Директива модуля - RewriteBase
- • Директива модуля - RewriteCond
- • Директива модуля - RewriteEngine
- • Директива модуля - RewriteOptions
- • Примеры URL преобразований
- • Боты - роботы через Mod rewrite
- • Защита от прямого скачивания
- • Директивы конфигурации PHP
Главные директивы конфигурации PHP
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
Установить уровень сообщения ошибок. Это целочисленный параметр - битовое поле. Добавьте необходимое значение уровня ошибок.
Уровни сообщения об ошибках битовое поле включает сообщение:
- 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.
Пример UNIX include_path
- include_path=.:/home/httpd/php-lib
Пример. 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.
