Директивы файла php.ini

Часть1


В этой статье мы с Вами рассмотрим основные директивы файла php.ini. Данный файл содержит настройки языка php. При работе с файлом необходимо учитывать, что все директивы файла чувствительны к регистру символов. Необходимо обращать особое внимание на использование заглавных и строчных букв.

engine = On
Директива разрешает (On) или запрещает (Off) работу скриптов на РНР под управлением сервера Apache

short_open_tag = On
Директива разрешает (On) или запрещает (Off) использование коротких тегов

asp_tags = Off
Директива запрещает (On) или запрещает (Off) использование тегов в стиле ASP «% %»

Precision = 12
Директива задает число значащих цифр после запятой для чисел с плавающей точкой

output_buffering = 4096
Директива включает буферизацию вывода с одновременным указанием размера буфера вывода в байтах. Включенная директива (output_buffering = On) позволяет посылать заголовки, в том числе и cookie после вывода текста. В случае если размер буфера не указан, используется максимально возможный размер буфера

implicit_flush = Off
Действие этой директивы аналогично вызову функции flush (функция, очищающая буфер вывода РНР) после каждого применения функций print или echo. И после каждого HTML-блока. Использование указанной директивы серьезно замедляет выполнение скриптов, поэтому по умолчанию она отключена, и использовать ее рекомендуется только в целях отладки

allow_call_time_pass_reference = Off
Эта директива определяет, возможна ли передача аргументов функциям по ссылке при выполнении скрипта. В РНР 5 по умолчанию отключена. Постольку в более ранних версиях языка указанная директива по умолчанию находилась во включенном состоянии, при переходе на РНР 5 возможны проблемы с выполнением этих скриптов (будут появляться предупреждения всякий раз, когда аргумент передается ненадлежащим образом)

safe mode = Off
Директива отключает (Off) или включает (On) безопасный режим

disable functions =
Директива позволяет запрещать вызовы некоторых функций и действует независимо от того, установлен безопасный режим или нет. Список запрещаемых функций создается в виде имен функций, которые разделены запятыми

disable classes =
Директива позволяет запрещать вызовы некоторых классов и действует независимо от того, установлен безопасный режим или нет. Список запрещаемых классов создается в виде имен классов, которые разделены запятыми

highlight.string = #000000
highlight.comment = #FF8000
highlight.keyword = #007700
highlight.bg = #FFFFFF
highlight.default = #0000ВВ
highlight.html = #000000

Набор данных директив определяет цвета, используемые для раскраски синтаксиса РНР при вызове функций highlight.string () И highlight_file ()

max execution time = 30
Директива определяет, что максимальное возможное время выполнения скрипта составляет 30 секунд

max_input_time = 60
Директива задает максимальное время, которое скрипт может потратить на обработку запрошенных данных

memory_limit = 8М
Директива определяет, что максимальный объем памяти, выделяемый одному сценарию, составляет 8 Мбайт

error_reporting =
Директива error_reporting задается в виде битового поля, т. е. ее значение устанавливается с помощью нижеперечисленных констант, объединенных оператором I (OR):
Е - ALL (все предупреждения и ошибки);
E_ERROR (фатальные ошибки во время выполнения);
E_WARNING (некритические ошибки - предупреждения - во время выполнения);
E_PARSE (ошибки трансляции);
E_NOTICE (замечания во время выполнения, которые сообщают о возможных логических ошибках в скрипте; к этому типу ошибок относятся, к примеру, предупреждения об использовании неинициализированных переменных);
E_CORE_ERROR (фатальные ошибки при старте РНР);
E_CORE_WARNING (предупреждения при старте РНР);
E_COMPILE_ERROR (фатальные ошибки при компиляции);
E_CQMPILE_WARNING (предупреждения при компиляции);
E_USER_ERROR (ошибки, вызванные действиями пользователя);
Е- USER - WARNING (предупреждения, вызванные действиями пользователя);
E_USER_NOTICE (замечания, вызванные действиями пользователя).

Таким образом, для того, чтобы отображались все ошибки, за исключением замечаний о возможных логических ошибках в сценарии, нужно установить директиву Error - reporting следующим образом:
error_reporting = E_ALL & ~E_NOTICE

Для того чтобы показывать только ошибки, директива должна быть настроена так, как показано ниже:
error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR

display_errors = Off

Директива запрещает вывод ошибок и предупреждений в браузер. При отладке приложений следует включить эту директиву, в реальной же работе лучше ее отключить (в РНР 5 по умолчанию она отключена), поскольку при включенной display_errors посетитель может получить доступ к закрытой информации. Вместо этой директивы можно использовать журнализацию

display_startup_errors = Off
Директива отключает (Off) или включает (On) отображение ошибок, возникающих при старте РНР

log_errors = Off
Директива отключает (Off) или разрешает (On) сохранение сообщений об ошибках в файле журнала

log_errors_max_len = 1024
Директива задает максимальную длину файла журнала

track errors = Off
Директива отключает (Off) или включает (On) сохранение сообщения о последней ошибке в переменной $php_errormsg

html errors = Off
Директива отключает (Off) или включает (On) вывод возможных сообщений об ошибках в HTML

error_log = filename
Данная директива позволяет вести журнал в файле filename

Часть2


variables order = "EGPCS"
Эта директива определяет порядок регистрации переменных GET, POST, Cookie, Environment и серверных переменных (соответственно G, Р, С, Е, S). Регистрация осуществляется путем чтения этой строки слева направо. По умолчанию в РНР 5 директиве присвоено значение GPCS
Если установить директиве variables - order значение GP, то регистрация переменных будет проводиться только для переменных, передаваемых методами POST и GET. При этом все переменные, передаваемые через cookie, а также серверные переменные и переменные окружения будут игнорироваться

register_globals = Off
Данная директива отключает (Off) или включает (On) возможность регистрации EGPCS-переменных как глобальных переменных. Использование глобальных переменных может создать "дыры" в защите сценария, поэтому по умолчанию эта директива отключена
Директива register_globals является одним из самых дискуссионных моментов в языке РНР. С одной стороны, ее использование действительно может породить реальные проблемы с защитой РНР-сценариев при ненадлежащем учете возможных ошибочных ситуаций, и многие разработчики справедливо отмечают, что написание скриптов без использования глобальных переменных на 90% уменьшает уязвимость скриптов к различного рода атакам. С другой стороны, на заре возникновения РНР. не одна тысяча пользователей доверилась разработчикам языка (до версии РНР 4.3 эта директива была по умолчанию включена), в силу чего в настоящее время имеются миллионы функционирующих скриптов, написанных с использованием глобальных переменных. (Стоит отметить, что в обучающих целях иногда совершенно нелишне писать скрипты с использованием глобальных переменных, поскольку их замена на суперглобальные массивы сильно ухудшает наглядность кода)
В настоящий момент у всех хост-провайдеров эта директива включена и, по-видимому, будет оставаться включенной еще долгое время, поскольку в противном случае может нарушиться преемственность кода

register_long_arrays = Off
Директива, разрешающая (On) или запрещающая (Off) использование для передачи переменных из форм длинных массивов вида $HTTP_GET_VARS, $HTTP_POST_VARS и т. д. Если данная директива отключена, следует пользоваться новыми суперглобальными массивами вида $_GET, $_POST и т. д.
Выставленное по умолчанию значение (Off) для этой директивы, является весьма спорным, поскольку реальных опасений с точки зрения защиты при включенной директиве register_long_arrays возникать не должно. Многие же разработчики предпочитают в силу привычки использовать суперглобальные массивы вида $HTTP_GET_VARS вместо $_GET. Если же указанная директива выключена, естественно, такой код не работает

post_max_size = 8М
Директива определяет максимальный размер данных, преданных методом POST

magic_quotes_gpc = Off
Данная директива позволяет отключить (Off) или включить (On) автоматическую обработку «магических» кавычек и апострофов, в данных GET, POST, Cookie

magic_quotes_runtime = Off
Директива позволяет отключить (Off) или включить (On), возможность выполнения заключенных в «магические» кавычки команд ("something")

auto_prepend_file = auto_append_file =
Содержимое файлов, указанных в этих директивах, РНР должен обрабатывать соответственно до и после выполнения сценария

default_mimetype = "text/html"
Эта директива указывает, какую информацию РНР сообщает браузеру об используемой кодировке в заголовке content-type. По умолчанию используется text/html без указания кодировки

file_uploads = On
Директива, разрешающая (On) или запрещающая (Off) загрузку файлов на сервер

upload_tmp_dir =
Директива устанавливает временную директорию для загружаемых файлов

upload_max_filesize = 2М
Директива, задающая максимальный размер загруженных файлов

allow_url_fopen = On
Директива, разрешающая (On) или запрещающая (Off) использование URL (http://, ftp://) как файлов
Указанная директива обязательно должна быть включена при работе с сокетами

user_agent="PHP"
Директива, задающая значение переменной USER - AGENT, предоставляемой сервером при подключении с использованием сокета

default socket timeout = 60
Директива, задающая максимальное время ожидания ответа в сокет, в секундах
Для автоматической загрузки динамических расширений extension необходимо задать следующим образом: extension=modulename.extension
директиву, к примеру, для Windows можно написать так:
Extension=msql.dll
А для UNIX так:
extension=msql.so
Здесь задается только имя, без указания пути. Если необходимо указать путь, следует использовать вышеописанную директиву extension_dir

define_syslog_variables = Off
Директива, определяющая, следует (On) или нет (Off) использовать различные переменные демона syslog, такие как $LOG_PID, $LOG_CRON и т. д. Для ускорения работы данную директиву рекомендуется отключать, а при необходимости использовать функцию define_syslog_variables

function SMTP = localhost
Эта директива предназначена только для использования в среде Windows и задает используемый SMTP-сервер

sendmail from = admin@localhost
Эта директива предназначена только для использования в среде Windows и задает поле From по умолчанию
sendmail_path = \usr\sbin\sendmail -t -i

mysq1.a11ow_persistent = On

Директива разрешает (On) или запрещает (Off) соединения

mysq1.defau1t_port =
Директива, определяющая порт, заданный по умолчанию для функции rnysq1_connect. При незаданном значении функция mysql_connect использует переменную $MYSQL_TCP_PORT или запись mysql-tcp в каталоге jetcjservices, а затем заданную во время компиляции константу MYSQL - PORT (именно в таком порядке)

mysql.default_socket =
Директива, определяющая имя сокета для локальных соединений при незаданном значении используется значение по умолчанию

mysql.default_host =
Директива, задающая имя хоста по умолчанию для mysql_connect ()

mysql.default_user =
Директива, задающая имя пользователя базы данных по умолчанию. Это значение используется при установлении соединения с сервером базы данных, если имя пользователя не передано в качестве аргумента функции mysql_connect ()

mysql.default-password =
Директива, задающая пароль пользователя базы данных по умолчанию. Это значение используется при установлении соединения с сервером базы данных, если имя пользователя не передано в качестве аргумента функции mysql_connect ()
Хранить пароль в файле настроек РНР вряд ли стоит, поскольку любой пользователь, имеющий права на запуск РНР, может узнать пароль путем выполнения сценария echo cfg_get_var ("mysql.defaUlt_password") в безопасном режиме три последние директивы не работают.

bcmath.scale = 0
Директива, определяющая число десятичных цифр для всех bcmath-функций (математические функции произвольной точности)

session.save handler = Files
Директива, определяющая, каким образом хранить данные сессий (по умолчанию - в файлах)

session.save_path = /tmp
Если в предыдущей директиве указан режим хранения данных в файлах, то в этой директиве указывается каталог, в который помещаются файлы сессий

session.use cookies = 1
Директива, определяющая, можно ли использовать Cookies (по умолчанию использование Cookies разрешено)

session.name = PHPSESSID
Директива, задающая имя сессии по умолчанию

session.auto start = 0
Директива, разрешающая или запрещающая инициализацию сессии при старте (по умолчанию отключена)

session.cookie lifetime = 0
Определяет время жизни Cookie по умолчанию. Если директива принимает значение 0, то срок жизни Cookie длится до закрытия браузера

session.cookie_path = /
Директива, задающая. Путь, по которому сохраняются идентификаторы Cookie

session.cookie domain =
Определяет домен для Cookie (параметр по умолчанию для функции setcookie)

session.serialize_handler = php
Функция, используемая для сериализации данных. Значение php задает стандартную функцию

session.gc_probability = 1
Директива, определяющая вероятность того, что при очередном запуске сценария, работающего с сессиями, будет вызвана функция "сборки мусора" для очистки сессий, уже не применяемых пользователем

session.gc_maxlifetime = 1440
Директива задает время в секундах, после которого сохраненные данные будут автоматически удалены сборщиком мусора

session.referer check =
Директива, определяющая, нужно ли проверять HTTP-Referer на предмет того, не является ли идентификатор сессии фальшивым

session.cache lirniter = nocache
Директива, устанавливающая одно из значений кэширования НТТР. Может принимать следующие значения: nocache, private, public

session.cache_expire = 180
Директива, задающая количество минут, по истечении которого документ будет считаться устаревшим. По истечении данного времени документ не может использоваться при кэшировании, и требуется его повторная загрузка из источника

session.use trans sid = 1
Директива, определяющая, нужно ли использовать поддержку так называемых переходящих SID (идентификаторов сессии). Иначе говоря, необходимо ли поддерживать сессии, если пользователь отключил Cookies в браузере
Указанная директива работает только в том случае, если РНР был скомпилирован с включенной опцией --enable-trans-sid

session.hash function = 0
Директива, определяющая выбор хеш-функций для сессий. Значение 0 соответствует функции MD5, значение 1 - функции SHA-1

assert.active = On
Директива, определяющая, работает ли функция проверки assert (), выясняющая, не являются ли некоторые утверждения ложными

assert.warning = On
Директива, определяющая, нужно ли генерировать предупреждения для каждой неудавшейся проверки выражений функцией assert ()

assert.bail = Off
Директива, определяющая, следует ли завершать программу (On) или нет (Off) в случае неудачного выполнения функции assert ()

assert.callback = 0
Директива, определяющая пользовательскую функцию, которая будет вызвана при неудавшейся проверке функцией assert (). По умолчанию - значение равно нулю, т. е. пользовательские функции не применяются

pfpro.defaulthost = "test.signio.com"
Директива, задающая URL-aдpec прокси-сервера

pfpro.defaultport = 44З
Директива задает порт по умолчанию для прокси-сервера

pfpro.defaulttimeout = 30
Директива задает тайм-аут для прокси-сервера

pfpro.proxyaddress =
IP-aдpec прокси-сервера по умолчанию

pfpro.proxyport =
Порт прокси-сервера по умолчанию

pfpro.proxylogon = Логин для прокси-сервера
pfpro.proxypassword = Пароль для прокси-сервера
use_system_read = Оn

Директива, разрешающая использование функции read при работе с сокетами

Форма входа в CPanel Пользователь: Пароль:
Регистрация
Вспомнить пароль

Последняя новость

Бесплатные домены >>
Весенний ценопад >>
Новая интересная акция >>
Новый бесплатный сервис >>
Оплата более 30 способами! >>

Всегда помогут

Высокий приоритет
тикет-система

Контакты в картинке

Сотрудничаем с системами


База данных хостинг-провайдеров Оценки и отзывы наших клиентов HostoF.NET - участник каталога HostingMaster.RU

Рейтинг сайтов YandeG