3v4l.org

run code in 500+ PHP versions simultaneously
<?php class StreamHandler { public $errorMessage; public function __construct() { $this->errorMessage = null; set_error_handler([$this, 'customErrorHandler']); $stream = fopen('c:/fososdfsdfsd', 'a'); restore_error_handler(); } private function customErrorHandler(int $code, string $msg): bool { $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg); return true; } } $f = new StreamHandler; var_dump($f->errorMessage);

preferences:
110.52 ms | 2738 KiB | 5 Q