error_log
(PHP 4, PHP 5, PHP 7, PHP 8)
error_log — Send an error message to the defined error handling routines
Description
string
$message,int
$message_type = 0,?string
$destination = null,?string
$additional_headers = null): bool
Sends an error message to the web server's error log or to a file.
Parameters
-
message -
The error message that should be logged.
-
message_type -
Says where the error should go. The possible message types are as follows:
error_log() log types 0 messageis sent to PHP's system logger, using the Operating System's system logging mechanism or a file, depending on what the error_log configuration directive is set to. This is the default option.1 messageis sent by email to the address in thedestinationparameter. This is the only message type where the fourth parameter,additional_headersis used.2 No longer an option. 3 messageis appended to the filedestination. A newline is not automatically added to the end of themessagestring.4 messageis sent directly to the SAPI logging handler. -
destination -
The destination. Its meaning depends on the
message_typeparameter as described above. -
additional_headers -
The extra headers. It's used when the
message_typeparameter is set to1. This message type uses the same internal function as mail() does.
Return Values
Returns true on success or false on failure.
If message_type is zero, this function always returns true,
regardless of whether the error could be logged or not.
Changelog
| Version | Description |
|---|---|
| 8.0.0 |
destination and
additional_headers are now nullable.
|
Examples
Example #1 error_log() examples
<?php
// Send notification through the server log if we can not
// connect to the database.
if (!Ora_Logon($username, $password)) {
error_log("Oracle database not available!", 0);
}
// Notify administrator by email if we run out of FOO
if (!($foo = allocate_new_foo())) {
error_log("Big trouble, we're all out of FOOs!", 1,
"operator@example.com");
}
// another way to call error_log():
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
?>
Notes
error_log() is not binary safe. message will be truncated by null character.
message should not contain null character. Note that message may be sent to file, mail, syslog, etc. Use appropriate conversion/escape function, base64_encode(), rawurlencode() or addslashes() before calling error_log().

