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
messageThe error message that should be logged.
message_typeSays 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.destinationThe destination. Its meaning depends on the
message_typeparameter as described above.additional_headersThe 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,
"[email protected]");
}
// 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().