3v4l.org

run code in 300+ PHP versions simultaneously
<?php class C { function __destruct() { echo __METHOD__, "\n"; } } class D { function __destruct() { echo __METHOD__, "\n"; } } $gen = function ($c) use (&$gen) { new D($gen, yield); }; $gen = $gen(new C()); foreach ($gen as $value) { break; } $gen = null; gc_collect_cycles(); echo "DONE\n";
Output for 8.1.13 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0 - 8.5.1
C::__destruct DONE
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.
Output for 8.1.0 - 8.1.12
DONE C::__destruct
Output for 8.0.26 - 8.0.30
C::__destruct DONE D::__destruct
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.25
DONE C::__destruct D::__destruct

preferences:
165.77 ms | 411 KiB | 5 Q