Необходимые условия и установка привилегий Использование
директив php в конфигурационных файлах Apache возможно только при
подключении PHP в качестве модуля, а также при соответствующей
настройке привилегий AllowOverride, которые должны быть установлены
либо в значение Options, либо в значение All.
AllowOverride Options
AllowOverride All
Для того,
чтобы установить максимально возможные привилегии для всего сервера
найдите в файле httpd.conf контейнер <Directory /> и установите в
нем значение All для директивы AllowOverride.
Контейнер <Directory /> в httpd.conf
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
# Deny from all
Satisfy all
</Directory>
Примечание Если
на Вашем сервере размещаются сайты, доступ к публикации которым имеете
не только Вы, то будьте осторожны с назначением максимальных привилегий
(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_flag имя_директивы_php On|Off
php_admin_flag имя_директивы_php On|Off
Директивы
php_value и php_admin_value служат для установки строковых и числовых
значений директив php.ini, т.е. любых типов значений, за исключением
логических.
Синтаксис директив php_value и php_admin_value
php_value имя_директивы_php значение
php_admin_value имя_директивы_php значение
Частные случаи применения Если устанавливаемое значение представляет собой строку с пробелами, то его следует заключить в кавычки. Пример:
php_value auto_prepend_file «c:/web сервер/prepend.php»
Для сброса значений следует использовать синтаксис:
php_admin_flag имя_директивы_php none
Пример сброса значения директивы php.ini
php_value error_reporting none
Область применения директив PHP.INI и примеры Директивы
php.ini отличаются по областям применения. Часть директив можно
изменять даже через php-скрипты во время их выполнения, часть можно
применять только в файлах httpd.conf, некоторые доступны для изменения
через.htaccess, а особо важные можно устанавливать только в файле
php.ini. Ниже приведены наиболее интересные и частоупотребимые
директивы php, которые можно изменить в конфигурационных файлах Apache
(httpd.conf, .htaccess).
Примечание Полный список директив PHP и областей их применения можно посмотреть в руководстве по PHP, распространяемым c сайта php.net
Перечень распространенных директив PHP.INI mysql.default_host Устанавливает имя хоста базы данных Область применения: httpd.conf, .htaccess Пример: php_value mysql.default_host localhost
mysql.default_user Устанавливает имя пользователя базы данных Область применения: httpd.conf, .htaccess Пример: php_value mysql.default_user vasia
mysql.default_password Устанавливает пароль пользователя базы данных Область применения: httpd.conf, .htaccess Пример: php_value mysql.default_password Xcfg45
highlight.bg Устанавливает цвет фона при выводе php-кода функциями highlight_file() и highlight_string(). Область применения: httpd.conf, .htaccess Пример: php_value highlight.bg #FFFFFF
highlight.comment Устанавливает цвет комментариев при выводе php-кода функциями highlight_file() и highlight_string(). Область применения: httpd.conf, .htaccess Пример: php_value highlight.comment #FF9900
highlight.default Устанавливает цвет ключевых слов, переменных, имен функций при выводе php-кода функциями highlight_file() и highlight_string() Область применения: httpd.conf, .htaccess Пример: php_value highlight.default #0000BB
highlight.html Устанавливает цвет html-кода при выводе php-кода функциями highlight_file() и highlight_string() Область применения: httpd.conf, .htaccess Пример: php_value highlight.html #000000
highlight.keyword Устанавливает цвет конструкций языка, скобок, операторов при выводе php-кода функциями highlight_file() и highlight_string(). Область применения: httpd.conf, .htaccess Пример: php_value highlight.keyword #007700
highlight.string Устанавливает строковых параметров при выводе php-кода функциями highlight_file() и highlight_string(). Область применения: httpd.conf, .htaccess Пример: php_value highlight.string #DD0000
display_errors Разрешает вывод ошибок и предупреждений в браузер. Область применения: httpd.conf, .htaccess Пример: php_flag display_errors Off
display_startup_errors Включает отображение ошибок, возникающих при запуске PHP. Область применения: httpd.conf, .htaccess Пример: php_flag display_startup_errors Off
magic_quotes_gpc Включает автоматическую обработку кавычек и апострофов, в данных GET, POST, и Cookie. Область применения: httpd.conf, .htaccess Пример: php_flag magic_quotes_gpc On
register_globals Включает
автоматическое создание переменных PHP из данных, полученных извне.
Если директива register_globals выключена, то доступ к данным,
полученным извне методами GET, POST, через COOKIE и т.п., возможен
только через суперглобальные массивы. Область применения: httpd.conf, .htaccess Пример: php_flag register_globals Off
safe_mode Включение безопасного режима Область применения: httpd.conf Пример: php_flag safe_mode On
short_open_tag Включение режима поддержки короткого синтаксиса php-кода Область применения: httpd.conf, .htaccess Пример: php_flag short_open_tag On
auto_prepend_file Определение
файла, который будет выводится в начале каждого php-скрипта. Путь
указывается от корня файловой системы сервера. С помощью этой директивы
можно, например, подключить ко всем php-файлам скрипт подключения к
базе данных, вынеся его за пределы пространства, доступного через
браузер. Это позволит немного повысить защиту сайта от взлома. Область применения: httpd.conf, .htaccess Пример: php_value auto_prepend_file /www/server/prepend.php
auto_append_file Определение файла, который будет выводится в конце каждого php-скрипта. Область применения: httpd.conf, .htaccess Пример: php_value auto_append_file /www/server/append.php
error_log Устанавливает
имя файла-журнала для записи ошибок, возникающих при выполнении
php-скриптов, либо позволяет перенаправить вывод ошибок на syslog – для
этого вместо имени файла нужно указать слово syslog. Область применения: httpd.conf, .htaccess Пример: php_value error_log /var/log/php_error.log
extension_dir Устанавливает имя директории, в которой расположены загружаемые расширения PHP Область применения: httpd.conf Пример: php_admin_value extension_dir c:/php-5.1.4/ext/
max_execution_time Устанавливает максимальное время выполнения php-скриптов Область применения: httpd.conf, .htaccess Пример: php_admin_value max_execution_time 60
upload_max_filesize Устанавливает максимальный размер файла, который можно загрузить на сервер. Область применения: httpd.conf, .htaccess Пример: php_admin_value upload_max_filesize 5M
post_max_size Устанавливает максимальный объем данных, которые могут быть переданы методом POST. Область применения: httpd.conf, .htaccess Пример: php_admin_value post_max_size 5M
error_reporting Определяет типы (уровени важности) фиксируемых ошибок. Область применения: httpd.conf, .htaccess Пример: php_value error_reporting "E_ALL & ~E_NOTICE”
memory_limit Определяет максимальный объем оперативной памяти, который может быть задействован php-скриптом. Область применения: httpd.conf, .htaccess Пример: php_admin_value memory_limit 8M
sendmail_from Устанавливает e-mail отправителя, который применяется при отправке почтовых сообщений с помощью PHP. Область применения: httpd.conf, .htaccess Пример: php_value sendmail_from apache@server.ru
sendmail_path Устанавливает путь к программе, которая будет использоваться при отправке почте функцией mail(). Область применения: httpd.conf Пример: php_admin_value sendmail_path /usr/sbin/sendmail
allow_url_fopen Разрешает работу с ресурсами URL, запрашиваемыми по протоколам http и ftp, как с файлами. Область применения: httpd.conf, .htaccess Пример: php_admin_flag allow_url_fopen Off
user_agent Устанавливает строку User-agent, которая используется PHP при обращении к удаленным серверам. Область применения: httpd.conf, .htaccess Пример: php_value user_agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”
default_socket_timeout Устанавливает максимальное время ожидания (таймаут) для потоков, использующих сокеты. Область применения: httpd.conf, .htaccess Пример: php_value default_socket_timeout 60
|