gh8827-001.phpt 676 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. std handles can be deliberately closed 001
  3. --SKIPIF--
  4. <?php
  5. if (php_sapi_name() != "cli") {
  6. die("skip CLI only");
  7. }
  8. if (PHP_OS_FAMILY == 'Windows') {
  9. die("skip not for Windows");
  10. }
  11. if (PHP_DEBUG) {
  12. die("skip std streams are not closeable in debug builds");
  13. }
  14. if (getenv('SKIP_REPEAT')) {
  15. die("skip cannot be repeated");
  16. }
  17. ?>
  18. --FILE--
  19. <?php
  20. print "STDIN:\n";
  21. fclose(STDIN);
  22. var_dump(@fopen('php://stdin', 'r'));
  23. print "STDERR:\n";
  24. fclose(STDERR);
  25. var_dump(@fopen('php://stderr', 'a'));
  26. print "STDOUT:\n";
  27. fclose(STDOUT);
  28. // not printed if stdout is closed
  29. var_dump(@fopen('php://stdout', 'a'));
  30. ?>
  31. --EXPECT--
  32. STDIN:
  33. bool(false)
  34. STDERR:
  35. bool(false)
  36. STDOUT: