请问一下php能不能像java那样打印错误堆栈信息到错误日志?

WBOY
Freigeben: 2016-06-06 20:49:55
Original
1423 Leute haben es durchsucht

同题,如果可以大概操作步骤是什么?或者有什么相关资料?谢谢。

回复内容:

同题,如果可以大概操作步骤是什么?或者有什么相关资料?谢谢。

之前的回答有问题,清除了。

就像楼下说的,PHP 确实不会输出错误堆栈,但通过函数,还是能够获取到错误堆栈的。

<code class="lang-php">function getBacktrace() {
  ob_start();
  debug_print_backtrace();
  return ob_get_clean();
}
</code>
Nach dem Login kopieren

调用上面这个函数取得错误堆栈,再用 file_put_contents('log_path', FILE_APPEND); 写入日志文件即可。

还有一个办法:为 PHP 安装 xdebug 扩展
windows 下的安装方法:http://www.cnblogs.com/qiantuwuliang/archive/2011/01/23/1942382.html
安装好后,修改 php.ini

<code class="lang-ini">log_errors = On
error_log = "F://path/php_error.log"
</code>
Nach dem Login kopieren

开启PHP的本身的日志记录,只会记录PHP本身出错时的日志,如各种语法错误,警告之类的。@rjbj 想要的应该是在业务中打日志以及出错了迅速找到出错的地方在框架中所处的位置。 如果你不用框架的话,要实现这样的功能,就要自已结合PHP的异常处理和日志类库来实现,用框架的话几乎所有的全堆栈框架都会支持的。

请问一下php能不能像java那样打印错误堆栈信息到错误日志?

你可以看下 debug-backtrace 和 debug-print-backtrace.php 两个函数: http://www.php.net/manual/en/function.debug-backtrace.php http://www.php.net/manual/en/function.debug-print-backtrace.php

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!