Seldaek/monolog · error · MissingExtensionException
The sockets extension is required to use the SyslogUdpHandle
Error message
The sockets extension is required to use the SyslogUdpHandler
What it means
Error "The sockets extension is required to use the SyslogUdpHandler" thrown in Seldaek/monolog.
Source
Thrown at src/Monolog/Handler/SyslogUdpHandler.php:58
protected string $ident;
/** @var self::RFC* */
protected int $rfc;
/**
* @param string $host Either IP/hostname or a path to a unix socket (port must be 0 then)
* @param int $port Port number, or 0 if $host is a unix socket
* @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
* @param string $ident Program name or tag for each log message.
* @param int $rfc RFC to format the message for.
* @throws MissingExtensionException when there is no socket extension
*
* @phpstan-param self::RFC* $rfc
*/
public function __construct(string $host, int $port = 514, string|int $facility = LOG_USER, int|string|Level $level = Level::Debug, bool $bubble = true, string $ident = 'php', int $rfc = self::RFC5424)
{
if (!\extension_loaded('sockets')) {
throw new MissingExtensionException('The sockets extension is required to use the SyslogUdpHandler');
}
parent::__construct($facility, $level, $bubble);
$this->ident = $ident;
$this->rfc = $rfc;
$this->socket = new UdpSocket($host, $port);
}
protected function write(LogRecord $record): void
{
$lines = $this->splitMessageIntoLines($record->formatted);
$header = $this->makeCommonSyslogHeader($this->toSyslogPriority($record->level), $record->datetime);
foreach ($lines as $line) {
$this->socket->write($line, $header);View on GitHub (pinned to 57eb102834)
When it happens
Trigger: Thrown at src/Monolog/Handler/SyslogUdpHandler.php:58 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Seldaek/monolog@57eb102834 (2026-08-17).
Data as JSON: /api/errors/8ef947eb3a73e170.
Report an issue: GitHub.