Как мне ввести несколько значений PHP в .htaccess? - PullRequest
3 голосов
/ 21 февраля 2010

Я редактирую файл .htaccess, чтобы внести некоторые изменения в мой файл php.ini (у меня нет к нему доступа).Пока что я добавил:

php_value max_execution_time 600
php_value error_reporting E_WARNING
php_value log_errors Off

Приложение, которое я редактирую для (vTiger CRM), рекомендует, чтобы для "error_reporting" было установлено значение "E_WARNING & ~ E_NOTICE".Когда я добавляю это значение, я получаю ошибку 500. Как я могу добавить правильные значения error_reporting?Спасибо.

Ответы [ 3 ]

6 голосов
/ 21 февраля 2010

Использование констант, таких как E_WARNING, не имеет никакого значения вне PHP - и когда вы пишете файл .htaccess, вы «вне PHP». (см., Например, документацию error_reporting)

Таким образом, вы не можете использовать эти константы и должны использовать их целочисленные значения, которые вы можете найти здесь: Предопределенные константы


Самый простой способ узнать, какое значение вы должны использовать, в вашем конкретном случае, это использовать небольшой PHP-скрипт для выполнения расчетов.

Например:

<?php
var_dump(E_ALL & ~E_NOTICE);

Будет выводить:

int 30711

(Гораздо проще, чем просматривать значения констант и вычислять себя, я думаю, ^^)

0 голосов
/ 22 февраля 2010

Что еще нужно учитывать, это использовать ini_set () в вашем php-скрипте, где у вас будет доступ к php-константам.

ini_set('max_execution_time', '600');
ini_set('error_reporting', E_WARNING);
ini_set('log_errors', '0');

На phpsite ini.list.php есть страница, которая покажет вам, какие директивы ini можно установить таким образом, а какие - в php.ini. (Я не могу опубликовать более одной ссылки, извините) Все 3 приведенных вами примера законно изменить таким образом.

0 голосов
/ 21 февраля 2010

Вы не можете использовать константы php в .htaccess. Они не доступны в этой среде. Вы должны использовать целочисленные значения, которые представляют константы.

...