Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP,如何在特定位置放置错误_Php - Fatal编程技术网

PHP,如何在特定位置放置错误

PHP,如何在特定位置放置错误,php,Php,您知道PHP错误总是显示在页面的最顶端。有没有办法抑制这种情况并将其转换为$var?然后你可以把它放在页面的某个地方。是的,你可以截取并处理这些错误,除了简单地将它们输出到任何地方。但我认为在页面上优雅地显示PHP错误不是很有用。PHP错误并不意味着漂亮,它们根本就不会发生。如果您看到一个,它应该尽可能不和谐,您应该尽快修复它。他们的目的是在开发过程中提供帮助。试图修饰它们是在代码的错误部分花费时间 在生产中,这些错误应该记录到日志文件中,并且根本不在页面上可见地输出。是的,除了在任何地方输出错

您知道PHP错误总是显示在页面的最顶端。有没有办法抑制这种情况并将其转换为$var?然后你可以把它放在页面的某个地方。

是的,你可以截取并处理这些错误,除了简单地将它们输出到任何地方。但我认为在页面上优雅地显示PHP错误不是很有用。PHP错误并不意味着漂亮,它们根本就不会发生。如果您看到一个,它应该尽可能不和谐,您应该尽快修复它。他们的目的是在开发过程中提供帮助。试图修饰它们是在代码的错误部分花费时间

在生产中,这些错误应该记录到日志文件中,并且根本不在页面上可见地输出。

是的,除了在任何地方输出错误外,您还可以拦截这些错误并对其进行处理。但我认为在页面上优雅地显示PHP错误不是很有用。PHP错误并不意味着漂亮,它们根本就不会发生。如果您看到一个,它应该尽可能不和谐,您应该尽快修复它。他们的目的是在开发过程中提供帮助。试图修饰它们是在代码的错误部分花费时间

在生产中,这些错误应该记录到日志文件中,并且根本不在页面上可见地输出。

保存以前的错误,甚至是被抑制的错误

@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;
}
保存以前的错误,甚至是被抑制的错误

@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;
}

理想情况下,您应该编写代码,使其不会产生错误或警告。这不仅是可能的,而且强烈推荐作为良好实践。理想情况下,您应该编写代码,使其不会产生错误或警告。这不仅是可能的,而且强烈推荐作为良好实践。这是一种一次性使用$php_errormsg允许您单独处理每个错误,而无需在任何时候重置处理程序以不同方式处理错误。但是$php_errormsg要求您预测错误可能发生的位置,并在处理错误后清除变量。这比使用自定义全局错误处理程序要多得多。在我看来,OP需要一个全局错误处理程序。这是一种用途$php_errormsg允许您单独处理每个错误,而无需在任何时候重置处理程序以不同方式处理错误。但是$php_errormsg要求您预测错误可能发生的位置,并在处理错误后清除变量。这比使用自定义全局错误处理程序要多得多。在我看来,OP需要一个全局错误处理程序。php.ini中的log_errors=on和display_errors=off要干净得多。php.ini中的log_errors=on和display_errors=off要干净得多。