summaryrefslogtreecommitdiff
path: root/ext/standard/tests/file/bug72035.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/file/bug72035.phpt')
-rw-r--r--ext/standard/tests/file/bug72035.phpt40
1 files changed, 40 insertions, 0 deletions
diff --git a/ext/standard/tests/file/bug72035.phpt b/ext/standard/tests/file/bug72035.phpt
new file mode 100644
index 0000000000..a2abbb7f35
--- /dev/null
+++ b/ext/standard/tests/file/bug72035.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Bug #72035 php-cgi.exe fails to run scripts relative to drive root
+--SKIPIF--
+<?php
+if(substr(PHP_OS, 0, 3) != 'WIN' ) die('skip windows only test');
+if(php_sapi_name() != "cli") die('skip CLI only test');
+
+$cgi = realpath(dirname(PHP_BINARY)) . DIRECTORY_SEPARATOR . "php-cgi.exe";
+if (!file_exists($cgi)) die('skip CGI binary not found');
+?>
+--FILE--
+<?php
+
+$fl = dirname(__FILE__) . DIRECTORY_SEPARATOR . md5(uniqid()) . ".php";
+$fl = substr($fl, 2);
+
+$cgi = realpath(dirname(PHP_BINARY) . DIRECTORY_SEPARATOR . "php-cgi.exe");
+
+file_put_contents($fl, "<?php echo \"hello\", \"\n\"; ?>");
+
+$cmd = "$cgi -n -C $fl";
+
+/* Need to run CGI with the env reset. */
+$desc = array(0 => array("pipe", "r"));
+$proc = proc_open($cmd, $desc, $pipes, getcwd(), array());
+if (is_resource($proc)) {
+ echo stream_get_contents($pipes[0]);
+
+ proc_close($proc);
+}
+
+unlink($fl);
+?>
+==DONE==
+--EXPECTF--
+X-Powered-By: PHP/%s
+Content-type: text/html; charset=UTF-8
+
+hello
+==DONE==