Seldaek/monolog · error · UnexpectedValueException
Invalid protocol (${scheme}). Valid options are ${options}
Error message
Invalid protocol (${scheme}). Valid options are ${options} What it means
Error "Invalid protocol (${scheme}). Valid options are ${options}" thrown in Seldaek/monolog.
Source
Thrown at src/Monolog/Handler/CubeHandler.php:51
private array $acceptedSchemes = ['http', 'udp'];
/**
* Create a Cube handler
*
* @throws \UnexpectedValueException when given url is not a valid url.
* A valid url must consist of three parts : protocol://host:port
* Only valid protocols used by Cube are http and udp
*/
public function __construct(string $url, int|string|Level $level = Level::Debug, bool $bubble = true)
{
$urlInfo = parse_url($url);
if ($urlInfo === false || !isset($urlInfo['scheme'], $urlInfo['host'], $urlInfo['port'])) {
throw new \UnexpectedValueException('URL "'.$url.'" is not valid');
}
if (!\in_array($urlInfo['scheme'], $this->acceptedSchemes, true)) {
throw new \UnexpectedValueException(
'Invalid protocol (' . $urlInfo['scheme'] . ').'
. ' Valid options are ' . implode(', ', $this->acceptedSchemes)
);
}
$this->scheme = $urlInfo['scheme'];
$this->host = $urlInfo['host'];
$this->port = $urlInfo['port'];
parent::__construct($level, $bubble);
}
/**
* Establish a connection to an UDP socket
*
* @throws \LogicException when unable to connect to the socket
* @throws MissingExtensionException when there is no socket extension
*/View on GitHub (pinned to 57eb102834)
When it happens
Trigger: Thrown at src/Monolog/Handler/CubeHandler.php:51 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/ca648aa53e049bab.
Report an issue: GitHub.