3v4l.org

run code in 300+ PHP versions simultaneously
<?php function doWork(callable $f){ $f(); } class P { protected function test(){ echo 'parent'; } } class C extends P{ public function register(){ doWork([$this, 'test']); } } (new C)->register();
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.4.16, 8.5.0 - 8.5.1
Fatal error: Uncaught TypeError: doWork(): Argument #1 ($f) must be of type callable, array given, called in /in/5EMRQ on line 15 and defined in /in/5EMRQ:3 Stack trace: #0 /in/5EMRQ(15): doWork(Array) #1 /in/5EMRQ(19): C->register() #2 {main} thrown in /in/5EMRQ on line 3
Process exited with code 255.
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
118.56 ms | 407 KiB | 5 Q