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


 

Комментировать
Логин:

E-mail:

  Enter text shown in left:
 




хостинг webmoneypaypal хостинг
Хостинг за MastercardХостинг за American ExpressХостинг за VisaХостинг за PayPalХостинг за RobokassaХостинг за Яндекс деньгиХостинг за Webmoney Хостинг за ВебманиХостинг за SMSХостинг за EasyPayХостинг за ElecsnetХостинг за EwalletХостинг за MegafonХостинг за чекиХостинг за MwalletХостинг за RBK деньги Хостинг за RBK Money Хостинг за Bank TransferХостинг через банкХостинг за наличные