3v4l.org

run code in 300+ PHP versions simultaneously
<?php include('/etc/php.ini'); $myfile = fopen("/tmp/test.txt", "w") or die("Unable to open file!"); $txt = "John Doe\n"; fwrite($myfile, $txt); $txt = "Jane Doe\n"; fwrite($myfile, $txt); fclose($myfile); // current directory echo getcwd() . "\n"; chdir('/tmp'); // current directory echo getcwd() . "\n"; $dir = '/etc/'; $files1 = scandir($dir); $files2 = scandir($dir, 1); print_r($files1); print_r($files2);
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
[PHP] ; proc_open is in here because resources somehow leak if not proc_closed ; ini_set should be in here too if you're concerned about security disable_functions = proc_open,phpinfo,mail open_basedir = /tmp:/in:/etc max_execution_time = 3 memory_limit = 64M enable_dl = Off ; for consistency of older versions allow_call_time_pass_reference = Off html_errors = Off extension=gmp.so extension=iconv.so extension=intl.so extension=bcmath.so ; extension=sodium.so zend_extension=opcache.so ; show all errors by default, if we'd lower this in the script we'll miss some parser notices error_reporting = -1 display_errors = On display_startup_errors = On log_errors = Off report_memleaks = On ; off in all any default php.ini short_open_tag = Off [Date] date.timezone = Europe/Amsterdam / /tmp Array ( [0] => . [1] => .. [2] => arch-release [3] => crypttab [4] => fstab [5] => group [6] => gshadow [7] => host.conf [8] => hosts [9] => issue [10] => ld.so.conf [11] => ld.so.conf.d [12] => motd [13] => mtab [14] => nsswitch.conf [15] => pacman.d [16] => passwd [17] => php.ini [18] => php_archive.ini [19] => profile [20] => profile.d [21] => protocols [22] => resolv.conf [23] => securetty [24] => services [25] => shadow [26] => shells [27] => skel ) Array ( [0] => skel [1] => shells [2] => shadow [3] => services [4] => securetty [5] => resolv.conf [6] => protocols [7] => profile.d [8] => profile [9] => php_archive.ini [10] => php.ini [11] => passwd [12] => pacman.d [13] => nsswitch.conf [14] => mtab [15] => motd [16] => ld.so.conf.d [17] => ld.so.conf [18] => issue [19] => hosts [20] => host.conf [21] => gshadow [22] => group [23] => fstab [24] => crypttab [25] => arch-release [26] => .. [27] => . )
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 [PHP] ; proc_open is in here because resources somehow leak if not proc_closed ; ini_set should be in here too if you're concerned about security disable_functions = proc_open,phpinfo,mail open_basedir = /tmp:/in:/etc max_execution_time = 3 memory_limit = 64M enable_dl = Off ; for consistency of older versions allow_call_time_pass_reference = Off html_errors = Off extension=gmp.so extension=iconv.so extension=intl.so extension=bcmath.so ; extension=sodium.so zend_extension=opcache.so ; show all errors by default, if we'd lower this in the script we'll miss some parser notices error_reporting = -1 display_errors = On display_startup_errors = On log_errors = Off report_memleaks = On ; off in all any default php.ini short_open_tag = Off [Date] date.timezone = Europe/Amsterdam / /tmp Array ( [0] => . [1] => .. [2] => arch-release [3] => crypttab [4] => fstab [5] => group [6] => gshadow [7] => host.conf [8] => hosts [9] => issue [10] => ld.so.conf [11] => ld.so.conf.d [12] => motd [13] => mtab [14] => nsswitch.conf [15] => pacman.d [16] => passwd [17] => php.ini [18] => php_archive.ini [19] => profile [20] => profile.d [21] => protocols [22] => resolv.conf [23] => securetty [24] => services [25] => shadow [26] => shells [27] => skel ) Array ( [0] => skel [1] => shells [2] => shadow [3] => services [4] => securetty [5] => resolv.conf [6] => protocols [7] => profile.d [8] => profile [9] => php_archive.ini [10] => php.ini [11] => passwd [12] => pacman.d [13] => nsswitch.conf [14] => mtab [15] => motd [16] => ld.so.conf.d [17] => ld.so.conf [18] => issue [19] => hosts [20] => host.conf [21] => gshadow [22] => group [23] => fstab [24] => crypttab [25] => arch-release [26] => .. [27] => . )

preferences:
172.89 ms | 409 KiB | 300 Q