Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » PHP: секреты файла php.ini. Часть 3

 

PHP: секреты файла php.ini. Часть 3

 

 

В предыдущей статье цикла мы начали рассматривать системные переменные или директивы РНР, которые устанавливаются через файл 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/целое число] – задает ограничение на общее количество одновременно открытых подключений к базе данных.

odbc.defaultlrl = [4096/целое число] – задает объемы данных (в байтах), которые возвращаются из столбцов типа LONG. Для отмены ограничения и передачи всех данных сразу используйте 0.

[MySQL]

РНР почти в 99% случаев используется в связке с базой данных MySQL, особенно если речь идет про веб-приложения. РНР 5.0 поддерживает как старый интерфейс для связи с MySQL, так и новый, названный MySQLI, который позволяет использовать все преимущества серверов версий 4.0 и выше. Секция [MySQL] отвечает за традиционный интерфейс, а [MySQLI] – за конфигурацию нового расширения.

mysql.allow_persistent = [On/Off] – MySQL старается использовать постоянные соединения, когда это возможно. По умолчанию эта опция разрешена. В коде вы можете использовать обычную функцию mysql_connect(), которая создает новое соединение при каждом вызове, но РНР сам будет использовать уже существующие подключения, если они разрешены. Но есть модификация, mysql_pconnect(), которая явно указывает, что надо использовать постоянное соединение – уже существующее или новое, если такого еще нет.

mysql.default_port = [none/номер порта] – задает порт, который используется для соединения с сервером базы данных. Если не задано, РНР пытается использовать значение, заданное на этапе сборки ядра (MYSQL_PORT). Стандартный порт – 3306, если вы не меняете его, значение можно оставить пустым. Порт можно указывать и прямо в коде как параметр в процедуре mysql_connect().

mysql.default_socket = [none/имя сокета] – если связь с базой происходит через сокеты, то этой директивой задается имя сокета, через который происходит соединение. Изначально сокет не задан, и РНР использует указанный на этапе сборки или требует, чтобы он определялся при вызове mysql_connect().

mysql.default_host = [none/localhost/host] – имя компьютера или IP-адрес сервера базы данных MySQL. Директива игнорируется при работе РНР в защищенном режиме (safe-mode). Если не задана, none или null, то РНР пытается использовать хост по умолчанию (или заданный при сборке, или localhost).

mysql.default_user = [none/имя пользователя] – пользователь, от имени которого происходит соединение с базой данных, если этот параметр не указан при вызове функции mysql_connect(). Из соображений безопасности рекомендуется не устанавливать эту директиву, особенно в публичных серверах, а также настроить сервер MySQL (отключить пустую учетную запись).

mysql.default_password = [none/пароль] – задает пароль пользователя по умолчанию. Хранение здесь пароля для доступа к серверу БД очень ослабляет безопасность всего сервера – ведь, если помните, любой пользователь может, используя функцию ini_get(), получить значение любой директивы и таким образом получить доступ к базе данных. Если директива не задана, пароль и имя пользователя определяются при каждом вызове функции mysql_connect().

mysql.connect_timeout = [60/-1/целое число] – задает время, по истечении которого разрывается соединение (если оно не используется скриптом). Но если используются постоянные соединения, то РНР может повторно его использовать после завершения работы одного скрипта.

mysql.trace_mode = [Off/On] – устанавливает режим показа ошибок и предупреждений, которые генерирует MySQL. Изначально опция отключена, и для просмотра ошибки в ходе работы с базой вам необходимо вызывать специальные функции, например mysql_error().

[MySQLI]

MySQLI, или Improved MySQL Extension, – это новый механизм для доступа к базе данных MySQL, разработанный специально для РНР 5. Он предназначен для работы только с серверами версии 4.1.3 или выше, так что если вы используете РНР 5, но предыдущие версии MySQL, вам необходимо использовать традиционный интерфейс. Новый интерфейс существенно отличается от старого, ему стоит посвятить несколько отдельных публикаций, а на уровне директив конфигурации отличия минимальные – все директивы точно такие же, как и в секции [MySQL], только с префиксом в названии mysqli – mysqli.default_port, mysqli.default_host. Добавилась новая директива, mysqli.reconnect = [Off/On], которая управляет процессом переподключения в результате сбоя или обрыва соединения.

В самом файле php.ini опция, которая задает пароль пользователя, в версии РНР 5.0.2 имеет название, идентичное такой же директиве секции [MySQL], – mysqli.default_password, в то же время в документации эта опция описывается как mysqli.default_pw. Во всяком случае, РНР 5 пока еще не выпущен в качестве стабильного релиза, хотя уже бета-версии полностью работоспособны.

MySQL далеко не единственная база данных, с которой работает РНР, – более того, наверное, сложно найти такую БД, которая бы использовалась для построения веб-приложений и не имела РНР-интерфейса. Большая часть опций конфигурации в файле рhр.ini как раз и посвящена настройке доступа к различным БД. Мы продолжим рассматривать их в следующих статьях.

Ссылки по теме




Статья получена: hostinfo.ru
загрузка...

 

 

Наверх


Постоянная ссылка на статью "PHP: секреты файла php.ini. Часть 3":


Рассказать другу

Оценка: 4.0 (голосов: 16)

Ваша оценка:

Ваш комментарий

Имя:
Сообщение:
Защитный код: включите графику
 
 



Поиск по базе статей:





Темы статей






Новые статьи

Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

Вместе с этой статьей обычно читают:

PHP: секреты файла php.ini

Если спросить веб-программиста, какой из всех файлов дистрибутива PHP является самым главным, многие могут ответить, что сам интерпретатор, библиотеки, расширения и т. д. Нет, самый важный файл — это php.ini: небольшой текстовый файлик, в котором содержатся все настройки РНР (директивы), конфигурации модулей расширения и переменные среды. Через файл конфигурации можно настроить РНР на максимальное быстродействие, отключить потенциально опасные функции и модули, ну и, ...

» Интересное в сети - 3140 - читать


PHP: секреты файла php.ini. Часть 2

В предыдущей статье цикла мы начали рассматривать системные переменные или директивы РНР, которые устанавливаются через файл php.ini и позволяют тонко настроить среду исполнения РНР. Сейчас мы продолжим знакомство с наиболее важными директивами – знание и понимание механизма их действия позволят вам полностью управлять работой РНР, построить более защищенную веб-ситему или повысить производительность своего приложения. Мы будем рассматривать конфигурацию РНР версии 5.

» Интересное в сети - 2148 - читать


PHP: секреты файла php.ini. Часть 4

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

» Интересное в сети - 1792 - читать


Секреты PHP-функций для работы с&nb p;массивами. Обработка данных и&nb p;сортировка

Итак, что же там с вашим менеджером, который был упомянут в анонсе статьи? Вы уже написали ту самую злополучную версию функции для перекодировки какого-то поля в XML-файле. Но вечером того же дня оказывается, что надо срочно поменять логику работы скрипта, который уже закачан на сервер, протестирован вашим инженерным составом и одобрен чуть ли не самим генеральным директором фирмы.

» Интересное в сети - 2176 - читать


Секреты PHP-функций для работы с&nb p;массивами. Создание массивов

Основное назначение массивов — быстрая обработка данных. Часто разработчики программного обеспечения выполняют с их помощью сортирование информации, манипулирование исходными данными и получение различных выборок из наборов данных. Бытует мнение, что функциональность массивов гораздо проще организовать с помощью применения «толстой» прослойки SQL-кода и обращения к внешним приложениям типа специализированных хранилищ данных.

» Интересное в сети - 2067 - читать



Статья на тему Интернет » Интересное в сети » PHP: секреты файла php.ini. Часть 3

Все статьи | Разделы | Поиск | Добавить статью | Контакты

© Art.Thelib.Ru, 2006-2024, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

Энциклопедия Art.Thelib.Ru