基本上我有我的网站,我想任何PHP erorrs,警告等单页被在一封电子邮件中每一个脚本运行时送给我的。

编辑:这必须是放置在页面上的代码,而不是一个编辑到php_ini或类似的东西

编辑2:这需要捕捉所有错误和一个电子邮件在脚本结束

将所有的错误
有帮助吗?

解决方案

你需要安装一个错误处理程序和的寄存器关闭功能以做的邮件。在一个非常简化的示例,可以是这个样子:

<?php

$__errors = array();
function my_error_handler($code, $message, $file, $line) {
    global $__errors;
    $__errors[] = sprintf('"%s" (%s line %s)', $message, $file, $line);
}
set_error_handler( 'my_error_handler', E_ALL );

function send_error_log() {
    global $__errors;

    if ( count( $__errors ) > 0 ) {
        foreach ( $__errors as $error ) {
            $body . $error . "\n";
        }
        mail( 'to@example.com', 'error log', $body );
    }
}
register_shutdown_function( 'send_error_log' );

?>

其他提示

如果你正在试图赶上与代码的问题,它可能是更有效的,只是看你的服务器错误日志(假设你有机会)。如果您在摘要形式想这些,你可以写一个cron作业每天(或其他)邮寄你。

如果您没有访问错误日志,然后写一个错误处理程序,并使用set_error_hander()是你最好的选择。我仍然认为有错误处理程序写入到一个日志文件,而不是向您发送电子邮件。如果您的网站获得的所有邮箱的任何流量将超过满在任何时间。

你能做的最好的可能是写一个错误处理程序,并设置与的set_error_han dler。然而,这不会处理全部可能的错误。

可以创建用于 set_error_handler()

的自定义函数
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top