| admin |
| Изменение директив PHP.ini в .htaccess |
| 2009.04.04 15:58:50 | |
|
Директивы для конфигурирования PHP можно размещать не только в файле
php.ini, но также и в конфигурационных файлах Apache – httpd.conf и
.htaccess. Это позволяет проводить тонкую настройку php для разных
директорий и виртуальных хостов. Ниже будет рассмотрена работа с
файлами .htaccess, с помощью которых можно настраивать работу своего
сайта, размещенного на виртуальном хостинге.
Должен подчеркнуть, что приводимое решение является далеко не лучшим вариантом из всех возможных. Файл .htaccess подгружается при каждом обращении к серверу и его настройки экспортируются в машину php.. При этом, чем больше директив переопределено, тем дольше происходит данная операция. Это не является хорошим решением с точки зрения производительности работы сервера, да и с точки зрения безопасности тоже. Если есть возможность, следует при необходимости вносить изменения в сам файл php.ini. Если же такой возможности нет, то на мой взгляд, стоит приложить максимум усилий для написания свой программы на php не требующей каких либо подстроек сервера. Для работы с PHP в конфигурационных файлах .htaccess доступны две определяющие директивы: php_value и php_flag, которые отличаются типом устанавливаемых значений. С помощью php_flag устанавливаются логические значения, а php_value служит для установки строковых и числовых значений. Синтаксис директив php_flag php_flag имя_директивы_php On|OffСинтаксис директив php_value php_value имя_директивы_php значениеПримеры использования Если устанавливаемое значение представляет собой строку с пробелами, то его следует заключить в кавычки. Пример: php_value auto_prepend_file "/www/user/htdocs/util/php.php"Для сброса значений следует использовать синтаксис: php_flag имя_директивы_php noneПример сброса значения директивы php.ini php_value error_reporting none Примеры настройки сайта с помощью .htaccessОпределение уровня важности отображаемых ошибокОтображать все ошибки, за исключением предупреждений (E_NOTICE). php_value error_reporting “E_ALL & ~E_NOTICE”Управление выводом ошибок и предупреждений в браузер php_flag display_errors Off // запретить php_flag display_errors On // разрешитьАвтоматическая обработка кавычек и апострофов в данных GET, POST, и Cookie php_flag magic_quotes_gpc OnУправление режимом register_globals Начиная с версии PHP4.1 режим register_globals, по умолчанию, выключен. Вы можете включить его с помощью данной директивы, хотя лучше этого не делать. Включая данный режим, Вы открываете свой сервер для целого класса атак. php_flag register_globals On // включение php_flag register_globals Off // выключениеУправление режимом поддержки короткого синтаксиса php-кода php_flag short_open_tag On // включение короткого синтаксиса php_flag short_open_tag Off // отключениеОпределение файла, который будет выводиться вначале каждого php-скрипта php_value auto_prepend_file /www/user/htdocs/header.phpОпределение файла, который будет выводиться в конце каждого php-скрипта php_value auto_append_file /www/user/htdocs/footer.phpРазрешить работу с ресурсами URL, запрашиваемыми по протоколам http и ftp, как с обычными файлами php_admin_flag allow_url_fopen OnУстанавить строку User-agent, которая используется PHP при обращении к удаленным серверам php_value user_agent “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”На этом можно и остановиться. Стоит сказать, что такому переопределению поддаются практически все директивы файла php.ini. А делать это или нет, Ваше личное дело. Теги: хостинг поддержка php | PHP | .htaccess
|























