php输出数据库错误日志 php输出数据库错误日志怎么写( 二 )



Apache
2
的文档说明中所示的那样(请参阅
参考资料) 。在调试
PHP
应用程序时 , 应当知道两个配置变量 。下面是这两个变量及其默认值:
display_errors
=
Off
//关闭所有错误信息,为ON时为显示所有错误信息 。
error_reporting
=
E_ALL
E_ALL能从不良编码实践到无害提示到出错的所有信息 。E_ALL
对于开发过程来说有点太细,因为它在屏幕上为一些小事(例如变量未初始化)也显示提示,会搞糟浏览器的输出
所以不建议使用2047,最好把默认值改为:error_reporting
=
E_ALL
~E_NOTICE
PHP.ini中display_errors
=
Off失效的解决
问题:
PHP设置文件php.ini中明明已经设置display_errors
=
Off,但是在运行过程中 , 网页上还是会出现错误信息 。
解决:
经查log_errors=
On , 据官方的说法,当这个log_errors设置为On , 那么必须指定error_log文件 , 如果没指定或者指定的文件没有权限写入,那么照样会输出到正常的输出渠道 , 那么也就使得display_errors
这个指定的Off失效,错误信息还是打印了出来 。于是将log_errors
=
Off,问题就解决了 。
经常见到error_reporting(7)直意为:设定错误讯息回报的等级 。
value
constant
1
E_ERROR
2
E_WARNING
4
E_PARSE
8
E_NOTICE
16
E_CORE_ERROR
32
E_CORE_WARNING
64
E_COMPILE_ERROR
128
E_COMPILE_WARNING
256
E_USER_ERROR
512
E_USER_WARNING
1024
E_USER_NOTICE
2047
E_ALL
2048
E_STRICT
然而7=1+2+4
就是出错时显示1
E_ERROR
2
E_WARNING
4
E_PARSE
复制代码
代码如下:
?php
//禁用错误报告
error_reporting(0);
//报告运行时错误
error_reporting(E_ERROR
|
E_WARNING
|
E_PARSE);
//报告所有错误
error_reporting(E_ALL);
?
php jaxa输出不显示?可能php输出数据库错误日志的原因有:1. PHP代码中没有正确的输出语句php输出数据库错误日志,例如echo或print语句 。2. PHP代码中的输出被重定向到php输出数据库错误日志了其他地方,例如文件或数据库中 。3. PHP代码中的输出被缓存了,需要使用ob_flush()或flush()函数来刷新缓冲区 。4. PHP代码中的错误导致了输出不显示,需要检查PHP错误日志 。5. 服务器配置问题,例如禁用了PHP的输出功能或者PHP版本不兼容 。需要根据具体情况进行排查和解决 。
怎么让php打印错误日志要捕获错误的话,一般都要自己封装一下
代码示例:
?php
//error handler function
function customError($errno, $errstr, $errfile, $errline)
{
echo "bCustom error:/b [$errno] $errstrbr /";
echo " Error on line $errline in $errfilebr /";
echo "Ending Script";
die();
}
//set error handler
set_error_handler("customError");
$test=2;
//trigger error
if ($test1)
{
trigger_error("A custom error has been triggered");
}
?
输出:
Custom error: [1024] A custom error has been triggered
Error on line 19 in C:\webfolder\test.php
Ending Script
具体参考:
php运行是出现错误是否会存储到错误日志第一php输出数据库错误日志:错误日志自己做php输出数据库错误日志,一般不会自动产生 。
第二php输出数据库错误日志:错误日志一般在文本文件末尾添加php输出数据库错误日志 , 文件不会被浏览器加载,不影响打开,但如果错误较多 , 用户也多,写文件会较慢,一般情况影响不大 。

推荐阅读