常量已在函数原型中定义

Constant already defined in function prototype

我有这个代码:

<?php

define('LOG_DEBUG','DEBUG');
define('LOG_ERROR','ERROR');

function trace($message,$level=LOG_DEBUG){
    echo '['.date('Y-m-d H:i:s').' '.$level.'] '.$message."\n";
}

trace('test debug message');
trace('test error message', LOG_ERROR);

输出(运行 in PHP 7.4):

PHP Notice:  Constant LOG_DEBUG already defined in /var/www/mail_dumper/PHPMailDumper.php on line 3
[2022-02-11 22:00:33 7] test debug message
[2022-02-11 22:00:33 ERROR] test error message

我不明白通知...

我试图将 LOG_DEBUG 影响到默认值而不是尝试重新影响?

并且...在跟踪测试中我们在输出中看到一个“7”?

您收到此警告是因为 LOG_DEBUG is a predefined PHP constant for the syslog 函数。