Вы знаете, как ошибки PHP всегда отображаются в самой верхней части страницы. Есть ли способ подавить это и превратить его в $ var? Затем вы можете разместить его где-нибудь на странице.PHP, Как поместить ошибку в определенном месте
ответ
Да, вы могли бы set your own error handler перехватить и сделать что-то с этой ошибкой, кроме того, чтобы просто выводить их везде, где они происходят. Но я не думаю, что очень полезно отображать ошибки PHP на странице. Ошибки PHP не должны быть хорошенькими, они вовсе не должны возникать. Если вы его видите, это должно быть как можно более резким, и вы должны исправить его как можно скорее. Они предназначены для помощи во время разработки. Пытаться их погладить - это потратить время на неправильную часть кода.
В процессе производства эти ошибки должны регистрироваться в файле журнала и явно не выводиться на страницу.
Это своего рода одноразовый. '$ php_errormsg' позволяет обрабатывать каждую ошибку отдельно, вместо того, чтобы переустанавливать обработчик в любое время, когда вы хотите, чтобы он обрабатывал ошибки по-разному. – Jon
Но '$ php_errormsg' требует, чтобы вы * ожидали *, где могла произойти ошибка, и очистить переменную после того, как вы обработали ошибку. Это * намного больше * «одноразовый», а затем пользовательский глобальный обработчик ошибок. И мне кажется, что OP запрашивает глобальный обработчик ошибок. – deceze
$php_errormsg
содержит предыдущую ошибку, даже подавленные.
@fopen('foo.txt', 'w');
echo $php_errormsg; // You can put this anywhere you want the error to display
Если вы считаете, что у вас будет более одной ошибки, вы можете сохранить эти ошибки в массиве.
$errors = array();
for($files as $f) {
@fopen($f, 'w');
$errors[] = $php_errormsg;
}
Затем вы можете распечатать все ваши ошибки:
print_r($errors);
//or
for($errors as $e) {
echo $e;
}
'log_errors = on' и' display_errors = off' в php.ini намного, намного чище. – ThiefMaster
В идеале, вы должны написать код так, чтобы он не производит никаких ошибок или предупреждений. Это не только возможно, но и рекомендуется в качестве хорошей практики. –