@ kguest
Мне не удалось найти "php_ini" в списке конфигурации.
@ JW
Я решил проблему, изменив поведение встроенного обработчика ошибок командной строки PEAR:
в файле /usr/share/pear/pearcmd.php внизу файла измените тело обработчика ошибок на:
if ($errno & error_reporting()) {
$errortype = array (
E_ERROR => "Error",
E_WARNING => "Warning",
E_PARSE => "Parsing Error",
E_NOTICE => "Notice",
E_CORE_ERROR => "Core Error",
E_CORE_WARNING => "Core Warning",
E_COMPILE_ERROR => "Compile Error",
E_COMPILE_WARNING => "Compile Warning",
E_USER_ERROR => "User Error",
E_USER_WARNING => "User Warning",
E_USER_NOTICE => "User Notice"
);
$prefix = $errortype[$errno];
global $_PEAR_PHPDIR;
if (stristr($file, $_PEAR_PHPDIR)) {
$file = substr($file, strlen($_PEAR_PHPDIR) + 1);
} else {
$file = basename($file);
}
print "\n$prefix: $errmsg in $file on line $line\n";
}
Это сделает команду PEAR совместимой с вашим уровнем отчетов об ошибках php.ini.
(сделать то же самое с peclcmd.php)
Кстати, эта функция использовалась для чтения пустого дескриптора конфигурации с
$GLOBALS['config']->get('verbose') < 4
Поэтому я попытался изменить подробный уровень в конфигурации PEAR, но он ничего не делает (но эта строка вызывает FATAL ERROR при достижении).
Я не знаю, что имели в виду сопровождающие PEAR при создании этого компонента, но они могли бы по крайней мере предоставить способ скрыть ошибки.