summaryrefslogtreecommitdiff
path: root/sapi/cli/tests/php_cli_server.inc
diff options
context:
space:
mode:
Diffstat (limited to 'sapi/cli/tests/php_cli_server.inc')
-rw-r--r--sapi/cli/tests/php_cli_server.inc29
1 files changed, 29 insertions, 0 deletions
diff --git a/sapi/cli/tests/php_cli_server.inc b/sapi/cli/tests/php_cli_server.inc
new file mode 100644
index 0000000000..012efa704f
--- /dev/null
+++ b/sapi/cli/tests/php_cli_server.inc
@@ -0,0 +1,29 @@
+<?php
+define ("PHP_CLI_SERVER_ADDRESS", "localhost:8964");
+
+function php_cli_server_start($php_executable, $code = 'echo "Hello world";') {
+ $doc_root = __DIR__;
+ $router = "router.php";
+ file_put_contents($doc_root . '/' . $router, '<?php ' . $code . ' ?>');
+
+ $descriptorspec = array(
+ 0 => STDIN,
+ 1 => STDOUT,
+ 2 => STDERR,
+ );
+
+ $cmd = "{$php_executable} -t {$doc_root} -S " . PHP_CLI_SERVER_ADDRESS . " {$router}";
+
+ $handle = proc_open($cmd, $descriptorspec, $pipes, $doc_root);
+ sleep(1);
+
+ return $handle;
+}
+
+function php_cli_server_shutdown($handle) {
+ proc_terminate($handle);
+ proc_close($handle);
+ @unlink(__DIR__ . "router.php");
+ return true;
+}
+?>