Как узнать, какие директивы PHP можно переопределять через .htaccess, а какие - только в php.ini?
Полный список всех директив PHP можно получить
здесь (
описание всех директив). В поле "Changeable" указано, где именно можно переопределять каждую конкретную директиву:
- PHP_INI_USER - значение можно переопределять в скриптах с помощью функции ini_set();
- PHP_INI_PERDIR - значение можно переопределять в php.ini, .htaccess или в конфигурационном файле Apache httpd.conf;
- PHP_INI_SYSTEM - значение можно переопределять в php.ini или в конфигурационном файле Apache httpd.conf;
- PHP_INI_ALL - значение можно переопределять везде.
На тарифах, начиная с "Делового", можно использовать собственный php.ini (PHP4, PHP5) и переопределять в нем любые директивы.
Директивы, которые разрешено переопределять в .htaccess (PHP_INI_PERDIR, PHP_INI_ALL) изменяются с помощью команд php_flag (применяется для булевых (boolean) переменных, имеющих значения On и Off) и php_value. Например:
php_flag allow_call_time_pass_reference On
php_flag display_errors Off
php_value upload_max_filesize 32M
php_value post_max_size 32M