PHP 如何定位 500 错误

| 选择喜欢的代码风格  

在开发PHP之前,我感觉有必要跟大家介绍下,捕获500错误的一些方法,因为经常遇到。有几种方式,首先需要查看服务器错误日志,在代码中一些设置(最好在开发环境中设置,而生产环境中隐藏这些敏感的报错信息):

  • 查看服务器错误日志,{php dir}/var/log/php_errors.log
  • 设置 error_reporting(E_ALL)
  • 设置 ini_set("display_errors", "On");
  • 安装 Xdebug,调试错误信息
  • 高级进阶,利用 Linuxstrace 命令

在PHP代码中加入如下万能函数,捕捉显示服务端错误信息(注意,不要在生产环境中这么做)

register_shutdown_function(function(){ var_dump(error_get_last()); });

:查看 PHP 错误日志配置

[root@Dev]$php -i|grep error
display_errors => Off => Off
display_startup_errors => Off => Off
error_append_string => no value => no value
error_log => /Data/apps/php-fcgi/var/log/php_errors.log => 
	     /Data/apps/php-fcgi/var/log/php_errors.log

error_prepend_string => no value => no value
error_reporting => 4177 => 4177
html_errors => Off => Off
ignore_repeated_errors => Off => Off
log_errors => On => On
log_errors_max_len => 1024 => 1024
track_errors => Off => Off
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off

PHP 捕捉错误扩展阅读:




发表评论