3v4l.org

run code in 300+ PHP versions simultaneously
<? /* ------------------------------------------------------------------- quick script to grab a random BOFH excuse. - Peter Lowe // pgl@yoyo.org // http://pgl.yoyo.org/bofh/ credit to Jeff Ballard <ballard@NOSPAMcs.wisc.edu> for the original bofh excuse server: http://www.cs.wisc.edu/~ballard/bofh/ ------------------------------------------------------------------- [2004-08-28] odd: http://wiki.asleep.net/BOFHInetdPHP?show_comments=1 http://pgl.yoyo.org/bofh/ripoff.html (local copy) someone's ripped off this code and signed it with "author A.Sleep <a.sleep@asleep.net>" it's not exactly the same, but it's definitely based off this code. how strange. oh well. ------------------------------------------------------------------- */ // $excusefile can either be a local file like this: $excusefile = 'excuses.txt'; // or you can use a url to make sure you're using the latest excuses file: #$excusefile = 'http://www.cs.wisc.edu/~ballard/bofh/excuses'; // netscape 4 breaks when style files disappear, plus we save an extra // header if the stylesheet is included: $stylefile = 'style.inc'; function excuse($excusefile) { if (!$excuses = @file($excusefile)) return "couldn't read excuse file '$excusefile'"; mt_srand((double)microtime()*1000000); // not necessary after php 4.2.0 return $excuses[mt_rand(0, count($excuses)-1)]; } ?> <html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> <? include 'metatags.inc'; ?> <title> bofh excuse server </title> <?=$style_head?> </head> <body> <p><b>your excuse:</b> <?=excuse($excusefile)?> <p> [ <a href="../">back</a> | <a href="<?=$PHP_SELF?>">another excuse</a> | <a href="bofh.phps">source</a> | <a href="shellscript.php">bourne shell version</a> | <a href="excuses.txt">excuses.txt</a> ] <p> [ <a href="http://www.cs.wisc.edu/~ballard/bofh/">bofh excuse server homepage</a> | <a href="http://piro.dnsq.org/~bbj/bofh/">ben jackson's ASP version</a> | <a href="http://www.asleep.net/soap/">SOAP version</a> <!-- even though this guy copied code from here and attributed it to himself (see bofh.phps)! --> | <a href="telnet://towel.blinkenlights.nl:666">telnet server</a> ] </body> </html>
Output for 8.0.0 - 8.0.12, 8.0.14 - 8.0.30, 8.1.0 - 8.1.26, 8.2.0 - 8.2.13, 8.3.0
<? /* ------------------------------------------------------------------- quick script to grab a random BOFH excuse. - Peter Lowe // pgl@yoyo.org // http://pgl.yoyo.org/bofh/ credit to Jeff Ballard <ballard@NOSPAMcs.wisc.edu> for the original bofh excuse server: http://www.cs.wisc.edu/~ballard/bofh/ ------------------------------------------------------------------- [2004-08-28] odd: http://wiki.asleep.net/BOFHInetdPHP?show_comments=1 http://pgl.yoyo.org/bofh/ripoff.html (local copy) someone's ripped off this code and signed it with "author A.Sleep <a.sleep@asleep.net>" it's not exactly the same, but it's definitely based off this code. how strange. oh well. ------------------------------------------------------------------- */ // $excusefile can either be a local file like this: $excusefile = 'excuses.txt'; // or you can use a url to make sure you're using the latest excuses file: #$excusefile = 'http://www.cs.wisc.edu/~ballard/bofh/excuses'; // netscape 4 breaks when style files disappear, plus we save an extra // header if the stylesheet is included: $stylefile = 'style.inc'; function excuse($excusefile) { if (!$excuses = @file($excusefile)) return "couldn't read excuse file '$excusefile'"; mt_srand((double)microtime()*1000000); // not necessary after php 4.2.0 return $excuses[mt_rand(0, count($excuses)-1)]; } ?> <html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> <? include 'metatags.inc'; ?> <title> bofh excuse server </title> Warning: Undefined variable $style_head in /in/qSFIV on line 55 </head> <body> <p><b>your excuse:</b> Fatal error: Uncaught Error: Call to undefined function excuse() in /in/qSFIV:61 Stack trace: #0 {main} thrown in /in/qSFIV on line 61
Process exited with code 255.
Output for 8.0.13
<html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> Warning: include(metatags.inc): Failed to open stream: No such file or directory in /in/qSFIV on line 49 Warning: include(): Failed opening 'metatags.inc' for inclusion (include_path='.:') in /in/qSFIV on line 49 <title> bofh excuse server </title> Warning: Undefined variable $style_head in /in/qSFIV on line 55 </head> <body> <p><b>your excuse:</b> couldn't read excuse file 'excuses.txt' <p> [ <a href="../">back</a> | <a href=" Warning: Undefined variable $PHP_SELF in /in/qSFIV on line 64 ">another excuse</a> | <a href="bofh.phps">source</a> | <a href="shellscript.php">bourne shell version</a> | <a href="excuses.txt">excuses.txt</a> ] <p> [ <a href="http://www.cs.wisc.edu/~ballard/bofh/">bofh excuse server homepage</a> | <a href="http://piro.dnsq.org/~bbj/bofh/">ben jackson's ASP version</a> | <a href="http://www.asleep.net/soap/">SOAP version</a> <!-- even though this guy copied code from here and attributed it to himself (see bofh.phps)! --> | <a href="telnet://towel.blinkenlights.nl:666">telnet server</a> ] </body> </html>
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 7.4.33
<html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> Warning: include(metatags.inc): failed to open stream: No such file or directory in /in/qSFIV on line 49 Warning: include(): Failed opening 'metatags.inc' for inclusion (include_path='.:') in /in/qSFIV on line 49 <title> bofh excuse server </title> Notice: Undefined variable: style_head in /in/qSFIV on line 55 </head> <body> <p><b>your excuse:</b> couldn't read excuse file 'excuses.txt' <p> [ <a href="../">back</a> | <a href=" Notice: Undefined variable: PHP_SELF in /in/qSFIV on line 64 ">another excuse</a> | <a href="bofh.phps">source</a> | <a href="shellscript.php">bourne shell version</a> | <a href="excuses.txt">excuses.txt</a> ] <p> [ <a href="http://www.cs.wisc.edu/~ballard/bofh/">bofh excuse server homepage</a> | <a href="http://piro.dnsq.org/~bbj/bofh/">ben jackson's ASP version</a> | <a href="http://www.asleep.net/soap/">SOAP version</a> <!-- even though this guy copied code from here and attributed it to himself (see bofh.phps)! --> | <a href="telnet://towel.blinkenlights.nl:666">telnet server</a> ] </body> </html>
Output for 7.1.26 - 7.1.33, 7.2.17 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.32
<? /* ------------------------------------------------------------------- quick script to grab a random BOFH excuse. - Peter Lowe // pgl@yoyo.org // http://pgl.yoyo.org/bofh/ credit to Jeff Ballard <ballard@NOSPAMcs.wisc.edu> for the original bofh excuse server: http://www.cs.wisc.edu/~ballard/bofh/ ------------------------------------------------------------------- [2004-08-28] odd: http://wiki.asleep.net/BOFHInetdPHP?show_comments=1 http://pgl.yoyo.org/bofh/ripoff.html (local copy) someone's ripped off this code and signed it with "author A.Sleep <a.sleep@asleep.net>" it's not exactly the same, but it's definitely based off this code. how strange. oh well. ------------------------------------------------------------------- */ // $excusefile can either be a local file like this: $excusefile = 'excuses.txt'; // or you can use a url to make sure you're using the latest excuses file: #$excusefile = 'http://www.cs.wisc.edu/~ballard/bofh/excuses'; // netscape 4 breaks when style files disappear, plus we save an extra // header if the stylesheet is included: $stylefile = 'style.inc'; function excuse($excusefile) { if (!$excuses = @file($excusefile)) return "couldn't read excuse file '$excusefile'"; mt_srand((double)microtime()*1000000); // not necessary after php 4.2.0 return $excuses[mt_rand(0, count($excuses)-1)]; } ?> <html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> <? include 'metatags.inc'; ?> <title> bofh excuse server </title> Notice: Undefined variable: style_head in /in/qSFIV on line 55 </head> <body> <p><b>your excuse:</b> Fatal error: Uncaught Error: Call to undefined function excuse() in /in/qSFIV:61 Stack trace: #0 {main} thrown in /in/qSFIV on line 61
Process exited with code 255.
Output for 7.3.32 - 7.3.33
<html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> Warning: include(metatags.inc): failed to open stream: No such file or directory in /in/qSFIV on line 49 Warning: include(): Failed opening 'metatags.inc' for inclusion (include_path='.:') in /in/qSFIV on line 49 <title> bofh excuse server </title> </head> <body> <p><b>your excuse:</b> couldn't read excuse file 'excuses.txt' <p> [ <a href="../">back</a> | <a href="">another excuse</a> | <a href="bofh.phps">source</a> | <a href="shellscript.php">bourne shell version</a> | <a href="excuses.txt">excuses.txt</a> ] <p> [ <a href="http://www.cs.wisc.edu/~ballard/bofh/">bofh excuse server homepage</a> | <a href="http://piro.dnsq.org/~bbj/bofh/">ben jackson's ASP version</a> | <a href="http://www.asleep.net/soap/">SOAP version</a> <!-- even though this guy copied code from here and attributed it to himself (see bofh.phps)! --> | <a href="telnet://towel.blinkenlights.nl:666">telnet server</a> ] </body> </html>
Output for 5.6.0 - 5.6.38, 7.0.0 - 7.0.33, 7.1.0 - 7.1.25, 7.2.0 - 7.2.13
<html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> Warning: include(): open_basedir restriction in effect. File(metatags.inc) is not within the allowed path(s): (/tmp:/in:/etc) in /in/qSFIV on line 49 Warning: include(metatags.inc): failed to open stream: Operation not permitted in /in/qSFIV on line 49 Warning: include(): Failed opening 'metatags.inc' for inclusion (include_path='.:') in /in/qSFIV on line 49 <title> bofh excuse server </title> Notice: Undefined variable: style_head in /in/qSFIV on line 55 </head> <body> <p><b>your excuse:</b> couldn't read excuse file 'excuses.txt' <p> [ <a href="../">back</a> | <a href=" Notice: Undefined variable: PHP_SELF in /in/qSFIV on line 64 ">another excuse</a> | <a href="bofh.phps">source</a> | <a href="shellscript.php">bourne shell version</a> | <a href="excuses.txt">excuses.txt</a> ] <p> [ <a href="http://www.cs.wisc.edu/~ballard/bofh/">bofh excuse server homepage</a> | <a href="http://piro.dnsq.org/~bbj/bofh/">ben jackson's ASP version</a> | <a href="http://www.asleep.net/soap/">SOAP version</a> <!-- even though this guy copied code from here and attributed it to himself (see bofh.phps)! --> | <a href="telnet://towel.blinkenlights.nl:666">telnet server</a> ] </body> </html>
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29
<? /* ------------------------------------------------------------------- quick script to grab a random BOFH excuse. - Peter Lowe // pgl@yoyo.org // http://pgl.yoyo.org/bofh/ credit to Jeff Ballard <ballard@NOSPAMcs.wisc.edu> for the original bofh excuse server: http://www.cs.wisc.edu/~ballard/bofh/ ------------------------------------------------------------------- [2004-08-28] odd: http://wiki.asleep.net/BOFHInetdPHP?show_comments=1 http://pgl.yoyo.org/bofh/ripoff.html (local copy) someone's ripped off this code and signed it with "author A.Sleep <a.sleep@asleep.net>" it's not exactly the same, but it's definitely based off this code. how strange. oh well. ------------------------------------------------------------------- */ // $excusefile can either be a local file like this: $excusefile = 'excuses.txt'; // or you can use a url to make sure you're using the latest excuses file: #$excusefile = 'http://www.cs.wisc.edu/~ballard/bofh/excuses'; // netscape 4 breaks when style files disappear, plus we save an extra // header if the stylesheet is included: $stylefile = 'style.inc'; function excuse($excusefile) { if (!$excuses = @file($excusefile)) return "couldn't read excuse file '$excusefile'"; mt_srand((double)microtime()*1000000); // not necessary after php 4.2.0 return $excuses[mt_rand(0, count($excuses)-1)]; } ?> <html> <head> <meta name="description" content="bofh excuse server that doesn't require mysql, perl or any other unnecessary crap."> <meta name="keywords" content="bofh, bofh excuse server, bofh excuse generator, excuse, excuses"> <? include 'metatags.inc'; ?> <title> bofh excuse server </title> <?=$style_head?> </head> <body> <p><b>your excuse:</b> <?=excuse($excusefile)?> <p> [ <a href="../">back</a> | <a href="<?=$PHP_SELF?>">another excuse</a> | <a href="bofh.phps">source</a> | <a href="shellscript.php">bourne shell version</a> | <a href="excuses.txt">excuses.txt</a> ] <p> [ <a href="http://www.cs.wisc.edu/~ballard/bofh/">bofh excuse server homepage</a> | <a href="http://piro.dnsq.org/~bbj/bofh/">ben jackson's ASP version</a> | <a href="http://www.asleep.net/soap/">SOAP version</a> <!-- even though this guy copied code from here and attributed it to himself (see bofh.phps)! --> | <a href="telnet://towel.blinkenlights.nl:666">telnet server</a> ] </body> </html>

preferences:
286.52 ms | 410 KiB | 439 Q