Главная страница | IT-студия |
|
![]() Информационный портал
|
| Работа с Apache | Работа с директивами PHP.ini в httpd.conf Работа с директивами PHP.ini в httpd.confДирективы для конфигурирования PHP можно размещать не только в файле php.ini, но также и в конфигурационных файлах Apache – httpd.conf и .htaccess. Это позволяет проводить тонкую настройку php для разных директорий и виртуальных хостов. Необходимые условия и установка привилегийИспользование директив php в конфигурационных файлах Apache возможно только при подключении PHP в качестве модуля, а также при соответствующей настройке привилегий AllowOverride, которые должны быть установлены либо в значение Options, либо в значение All.
Для того, чтобы установить максимально возможные привилегии для всего сервера найдите в файле httpd.conf контейнер <Directory /> и установите в нем значение All для директивы AllowOverride. Контейнер <Directory /> в httpd.conf
ПримечаниеЕсли на Вашем сервере размещаются сайты, доступ к публикации которым имеете не только Вы, то будьте осторожны с назначением максимальных привилегий (All) директивой AllowOverride, так как это дает возможность любому человеку, имеющему доступ к аккаунту сайта, переопределять настройки веб-сервера. В этом случае, Вы должны установить минимально-необходимые привилегии. Директивы httpd.conf для работы с директивами php.iniДля работы с PHP в конфигурационных файлах Apache доступны 4 директивы: php_value, php_flag, php_admin_value, php_admin_flag, которые отличаются значимостью, типом устанавливаемых значений и местом применения. Директивы php_value и php_flag могут использоваться как в файлах httpd.conf, так и в файлах .htaccess, т.е. их использование доступно, практически, любому владельцу сайта (при наличии соответствующих привилегий AllowOverride, о которых говорилось выше). Директивы php_admin_value и php_admin_flag можно использовать только в файле httpd.conf и любой параметр, заданный с помощью этих директив не может быть переопределен в файлах .htaccess. Директивы php_flag и php_admin_flag служат для установки логических значений директив php.ini. Синтаксис директив php_flag и php_admin_flag
Директивы php_value и php_admin_value служат для установки строковых и числовых значений директив php.ini, т.е. любых типов значений, за исключением логических. Синтаксис директив php_value и php_admin_value
Частные случаи примененияЕсли устанавливаемое значение представляет собой строку с пробелами, то его следует заключить в кавычки. Пример:
Для сброса значений следует использовать синтаксис:
Пример сброса значения директивы php.ini
Область применения директив PHP.INI и примерыДирективы php.ini отличаются по областям применения. Часть директив можно изменять даже через php-скрипты во время их выполнения, часть можно применять только в файлах httpd.conf, некоторые доступны для изменения через.htaccess, а особо важные можно устанавливать только в файле php.ini. Ниже приведены наиболее интересные и частоупотребимые директивы php, которые можно изменить в конфигурационных файлах Apache (httpd.conf, .htaccess). ПримечаниеПолный список директив PHP и областей их применения можно посмотреть в руководстве по PHP, распространяемым c сайта php.net Перечень распространенных директив PHP.INImysql.default_hostУстанавливает имя хоста базы данных mysql.default_userУстанавливает имя пользователя базы данных mysql.default_passwordУстанавливает пароль пользователя базы данных highlight.bgУстанавливает цвет фона при выводе php-кода функциями highlight_file() и highlight_string(). highlight.commentУстанавливает цвет комментариев при выводе php-кода функциями highlight_file() и highlight_string(). highlight.defaultУстанавливает цвет ключевых слов, переменных, имен функций при выводе php-кода функциями highlight_file() и highlight_string() highlight.htmlУстанавливает цвет html-кода при выводе php-кода функциями highlight_file() и highlight_string() highlight.keywordУстанавливает цвет конструкций языка, скобок, операторов при выводе php-кода функциями highlight_file() и highlight_string(). highlight.stringУстанавливает строковых параметров при выводе php-кода функциями highlight_file() и highlight_string(). display_errorsРазрешает вывод ошибок и предупреждений в браузер. display_startup_errorsВключает отображение ошибок, возникающих при запуске PHP. magic_quotes_gpcВключает автоматическую обработку кавычек и апострофов, в данных GET, POST, и Cookie. register_globalsВключает автоматическое создание переменных PHP из данных, полученных извне. Если директива register_globals выключена, то доступ к данным, полученным извне методами GET, POST, через COOKIE и т.п., возможен только через суперглобальные массивы. safe_modeВключение безопасного режима short_open_tagВключение режима поддержки короткого синтаксиса php-кода auto_prepend_fileОпределение файла, который будет выводится в начале каждого php-скрипта. Путь указывается от корня файловой системы сервера. С помощью этой директивы можно, например, подключить ко всем php-файлам скрипт подключения к базе данных, вынеся его за пределы пространства, доступного через браузер. Это позволит немного повысить защиту сайта от взлома. auto_append_fileОпределение файла, который будет выводится в конце каждого php-скрипта. error_logУстанавливает имя файла-журнала для записи ошибок, возникающих при выполнении php-скриптов, либо позволяет перенаправить вывод ошибок на syslog – для этого вместо имени файла нужно указать слово syslog. extension_dirУстанавливает имя директории, в которой расположены загружаемые расширения PHP max_execution_timeУстанавливает максимальное время выполнения php-скриптов upload_max_filesizeУстанавливает максимальный размер файла, который можно загрузить на сервер. post_max_sizeУстанавливает максимальный объем данных, которые могут быть переданы методом POST. error_reportingОпределяет типы (уровени важности) фиксируемых ошибок. memory_limitОпределяет максимальный объем оперативной памяти, который может быть задействован php-скриптом. sendmail_fromУстанавливает e-mail отправителя, который применяется при отправке почтовых сообщений с помощью PHP. sendmail_pathУстанавливает путь к программе, которая будет использоваться при отправке почте функцией mail(). allow_url_fopenРазрешает работу с ресурсами URL, запрашиваемыми по протоколам http и ftp, как с файлами. user_agentУстанавливает строку User-agent, которая используется PHP при обращении к удаленным серверам. default_socket_timeoutУстанавливает максимальное время ожидания (таймаут) для потоков, использующих сокеты. |
![]() |