summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--sapi/phpdbg/phpdbg.c12
-rw-r--r--sapi/phpdbg/tests/include.inc3
3 files changed, 11 insertions, 6 deletions
diff --git a/NEWS b/NEWS
index 9fa25016de..2b03b3131c 100644
--- a/NEWS
+++ b/NEWS
@@ -19,6 +19,8 @@ PHP NEWS
- phpdbg:
. Properly allow for stdin input from a file. (Bob)
+ . Add -s command line option / stdin command for reading script from stdin.
+ (Bob)
- Session:
. Fixed bug #73273 (session_unset() empties values from all variables in which
diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c
index 308aab6431..fda8962568 100644
--- a/sapi/phpdbg/phpdbg.c
+++ b/sapi/phpdbg/phpdbg.c
@@ -2040,6 +2040,12 @@ phpdbg_out:
zend_objects_store_mark_destructed(&EG(objects_store));
}
+ if (PHPDBG_G(exec) && !memcmp("-", PHPDBG_G(exec), 2)) { /* i.e. execution context has been read from stdin - back it up */
+ phpdbg_file_source *data = zend_hash_str_find_ptr(&PHPDBG_G(file_sources), PHPDBG_G(exec), PHPDBG_G(exec_len));
+ backup_phpdbg_compile = zend_string_alloc(data->len + 2, 1);
+ sprintf(ZSTR_VAL(backup_phpdbg_compile), "?>%.*s", (int) data->len, data->buf);
+ }
+
/* backup globals when cleaning */
if ((cleaning > 0 || remote) && !quit_immediately) {
settings = calloc(1, sizeof(zend_phpdbg_globals));
@@ -2099,12 +2105,6 @@ phpdbg_out:
wrapper->wops->stream_opener = PHPDBG_G(orig_url_wrap_php);
}
- if (PHPDBG_G(exec) && !memcmp("-", PHPDBG_G(exec), 2)) { /* i.e. execution context has been read from stdin - back it up */
- phpdbg_file_source *data = zend_hash_str_find_ptr(&PHPDBG_G(file_sources), PHPDBG_G(exec), PHPDBG_G(exec_len));
- backup_phpdbg_compile = zend_string_alloc(data->len + 2, 1);
- sprintf(ZSTR_VAL(backup_phpdbg_compile), "?>%.*s", (int) data->len, data->buf);
- }
-
zend_try {
php_module_shutdown();
} zend_end_try();
diff --git a/sapi/phpdbg/tests/include.inc b/sapi/phpdbg/tests/include.inc
new file mode 100644
index 0000000000..fb1b7ca841
--- /dev/null
+++ b/sapi/phpdbg/tests/include.inc
@@ -0,0 +1,3 @@
+<?php
+
+echo 1;