3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace PHPUnit\TestFixture; use function set_error_handler; use function trigger_error; use PHPUnit\Framework\TestCase; class SomeExternalDependency { public function __construct() { set_error_handler([$this, 'logError']); $this->triggerError(); } public static function triggerError(): void { trigger_error('error', E_USER_WARNING); } private function logError(): bool { debug_print_backtrace(); return true; } } class Issue5844Test { public function testSetErrorHandlerNonCallable(): void { new SomeExternalDependency(); $callableWithPrivateMethod = set_error_handler(static fn () => false); restore_error_handler(); restore_error_handler(); set_error_handler($callableWithPrivateMethod); echo "\nii.\n"; SomeExternalDependency::triggerError(); echo "\niii.\n"; trigger_error('error', E_USER_WARNING); // $this->assertTrue(true); } } (new Issue5844Test())->testSetErrorHandlerNonCallable();

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.3.110.0040.00420.94
8.3.100.0060.00324.06
8.3.90.0080.00026.77
8.3.80.0220.00416.38
8.3.70.0240.00316.38
8.3.60.0220.00316.38
8.3.50.0080.00316.54
8.3.40.0190.00317.38
8.3.30.0190.00317.38
8.3.20.0120.01217.37
8.3.10.0120.00717.25
8.3.00.0160.00817.13
8.2.230.0040.00422.58
8.2.220.0000.01037.54
8.2.210.0120.00626.77
8.2.200.0060.00316.75
8.2.190.0160.00916.38
8.2.180.0120.00816.38
8.2.170.0230.00017.38
8.2.160.0210.00317.21
8.2.150.0250.00017.38
8.2.140.0230.00317.38
8.2.130.0110.01517.50
8.2.120.0180.00517.50
8.2.110.0170.00717.75
8.2.100.0130.00817.25
8.2.90.0190.00519.46
8.2.80.0200.00017.38
8.2.70.0220.00017.34
8.2.60.0210.00317.25
8.2.50.0140.00717.25
8.2.40.0160.00517.63
8.2.30.0190.00317.38
8.2.20.0150.00817.38
8.2.10.0170.00317.25
8.2.00.0180.00317.48
8.1.290.0220.00016.09
8.1.280.0200.00316.38
8.1.270.0140.01117.00
8.1.260.0180.00717.13
8.1.250.0230.00017.13
8.1.240.0120.00817.13
8.1.230.0160.00316.98
8.1.220.0130.00917.13
8.1.210.0180.00517.11
8.1.200.0170.00417.23
8.1.190.0170.00717.13
8.1.180.0130.00816.86
8.1.170.0220.00017.13
8.1.160.0190.00317.12
8.1.150.0110.00716.86
8.1.140.0200.00017.22
8.1.130.0170.00317.22
8.1.120.0100.01017.25
8.1.110.0150.00416.88
8.1.100.0120.00717.00
8.1.90.0140.00717.00
8.1.80.0190.00316.88
8.1.70.0130.00817.13
8.1.60.0240.00017.13
8.1.50.0170.00917.00
8.1.40.0210.00017.00
8.1.30.0160.00517.23
8.1.20.0190.00417.25
8.1.10.0080.01517.25
8.1.00.0150.00817.11

preferences:
20.07 ms | 403 KiB | 5 Q