[продолжаем рассматривать директивы конфигурации РНР]материал подготовил: Александр Лозовюк 29.07.2005
В предыдущей статье цикла мы начали рассматривать системные переменные или директивы РНР, которые устанавливаются через файл php.ini и позволяют тонко настроить среду исполнения РНР. Мы уже рассмотрели общие директивы РНР, теперь же перейдем к настройке отдельных модулей и расширений, которые поставляются вместе с дистрибутивом. Мы будем рассматривать конфигурацию РНР версии 5.0.х, так что если у вас более ранняя версия, некоторые директивы могут отсутствовать. Напомним, что директивы для отдельных модулей находятся в секциях, обозначаемых как [название секции], например: [ODBC] отвечает за настройки связи с базами данных через механизм ODBC, а [MySQL] — за настройку параметров доступа к серверу MySQL.
имена директив могут отличаться от общесистемных — для отдельных модулей они могут иметь вид имя_модуля.имя_директивы. Так же как и для остальных параметров, директивы отдельных модулей можно в большинстве случаев устанавливать не только через php.ini, но и с помощью уже описанной функции ini_set().
[mail function]
В этой секции описываются параметры отправки почты — РНР для этого использует общесистемную почтовую программу, традиционно это sendmail (которая есть как для платформы Unix/Linux, так и для Win32). Для различных систем некоторые директивы отличаются, поэтому внимательно смотрите на комментарии.
SMTP = [localhost/mail host] — указывает на имя SMTP-сервера, который используется для отправки почты. Если сервер на локальной машине — localhost. Директива только для Win32. Другая директива, smtp_port, устанавливает порт, по которому происходит соединение с сервером. По умолчанию это 25-й порт.
sendmail_from = [me@localhost.com/адрес e-mail] — определяет обратный адрес, который подставляется во все отсылаемые письма. Это может быть или общий почтовый адрес вида info@domen.com, или любой другой адрес, на который будет уходить письмо. Этот адрес будет задействован, если при вызове функции mail() в скрипте вы не укажете другого обратного адреса.
sendmail_path = [\usr\sbin\sendmail -t -i/путь к опции sendmail] — директива задает путь к программе sendmail, которая используется для отправки почты. Кроме пути тут же задаются и параметры, передаваемые в sendmail для корректной работы. Хотя в документации указывается, что директива только для Linux/Unix, но если вы на win32-сервере используете sendmail или другой сервер электронной почты, допускающий работу с командной строкой, вы можете использовать директиву для настройки доступа. Например, в пакете «Денвер» под Windows используется эта директива для работы с собственным почтовым сервером-«заглушкой», который используется при отладке приложений. Так что вот такая общая рекомендация — внимательно читайте комментарии, но и старайтесь логически определить, может ли директива быть полезной, несмотря на иногда чересчур критические и строгие комментарии разработчиков.
[ODBC]
Раздел служит для настройки конфигурации модуля для работы с базами данных через ODBC. К некоторым распространенным базам данных PHP содержит встроенные интерфейсы (а к MySQL даже два разных интерфейса), а через универсальный интерфейс ODBC (Open DataBase Connectivity) можно получить доступ к любой базе данных, которая его поддерживает.
odbc.allow_persistent = [On/Off] — РНР изначально пытается использовать постоянные соединения с базой данных (это относится не только к ODBC, но и к другим БД), не закрывая текущее соединение при завершении работы. Это позволяет существенно снизить нагрузку на сервер и повысить скорость работы, ведь установка нового соединения очень ресурсоемкий процесс, да и их число всегда ограничено. Все директивы, связанные с постоянными подключениями, могут устанавливаться только до инициализации ядра РНР, то есть только в файлах php.ini или httpd.conf.
odbc.check_persistent = [On/Off] — разрешает проверку на наличие уже открытого соединения с базой, прежде чем создавать новое. Должна устанавливаться в паре с предыдущей директивой, odbc.allow_persistent, и только в файлах php.ini или httpd.conf.
odbc.max_links = [-1/целое число] — задает ограничение на общее количество одновременно открытых подключ