From db1d335011c0a05e0081ba2d012f2cc57bdd97ea Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Thu, 21 Mar 2019 01:00:02 +0100
Subject: [PATCH 01/14] Deprecate Short tags
---
php.ini-development | 5 -----
php.ini-production | 5 -----
tests/lang/short_tags.001.phpt | 1 +
3 files changed, 1 insertion(+), 10 deletions(-)
diff --git a/php.ini-development b/php.ini-development
index 374d26cc446ab..b68c2cabdd3d0 100644
--- a/php.ini-development
+++ b/php.ini-development
@@ -148,11 +148,6 @@
; Development Value: 5
; Production Value: 5
-; short_open_tag
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-
; variables_order
; Default Value: "EGPCS"
; Development Value: "GPCS"
diff --git a/php.ini-production b/php.ini-production
index fecff7c473d52..c8e517f9c0f44 100644
--- a/php.ini-production
+++ b/php.ini-production
@@ -148,11 +148,6 @@
; Development Value: 5
; Production Value: 5
-; short_open_tag
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-
; variables_order
; Default Value: "EGPCS"
; Development Value: "GPCS"
diff --git a/tests/lang/short_tags.001.phpt b/tests/lang/short_tags.001.phpt
index 522018e3068fa..a9145a1150643 100644
--- a/tests/lang/short_tags.001.phpt
+++ b/tests/lang/short_tags.001.phpt
@@ -8,5 +8,6 @@ echo "Used a short tag\n";
?>
Finished
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
Used a short tag
Finished
From 2df58ed3831a4db8da90172cf4ad771f89c47e0f Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Thu, 21 Mar 2019 22:19:14 +0100
Subject: [PATCH 02/14] Add depracation notice in strip_tags tests which use
short_tags ini setting.
---
ext/standard/tests/strings/strip_tags_basic1.phpt | 1 +
ext/standard/tests/strings/strip_tags_basic2.phpt | 1 +
ext/standard/tests/strings/strip_tags_variation10.phpt | 1 +
ext/standard/tests/strings/strip_tags_variation11.phpt | 1 +
ext/standard/tests/strings/strip_tags_variation2.phpt | 1 +
ext/standard/tests/strings/strip_tags_variation4.phpt | 1 +
ext/standard/tests/strings/strip_tags_variation5.phpt | 4 +++-
ext/standard/tests/strings/strip_tags_variation6.phpt | 1 +
ext/standard/tests/strings/strip_tags_variation7.phpt | 1 +
ext/standard/tests/strings/strip_tags_variation8.phpt | 1 +
ext/standard/tests/strings/strip_tags_variation9.phpt | 7 +++++--
11 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/ext/standard/tests/strings/strip_tags_basic1.phpt b/ext/standard/tests/strings/strip_tags_basic1.phpt
index 164cf504522a9..865ae3823ce3d 100644
--- a/ext/standard/tests/strings/strip_tags_basic1.phpt
+++ b/ext/standard/tests/strings/strip_tags_basic1.phpt
@@ -43,6 +43,7 @@ foreach($string_array as $string)
echo "Done";
?>
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : basic functionality ***
-- Iteration 1 --
string(5) "hello"
diff --git a/ext/standard/tests/strings/strip_tags_basic2.phpt b/ext/standard/tests/strings/strip_tags_basic2.phpt
index e9a48af79d5d3..17b5f9cd6465e 100644
--- a/ext/standard/tests/strings/strip_tags_basic2.phpt
+++ b/ext/standard/tests/strings/strip_tags_basic2.phpt
@@ -39,6 +39,7 @@ foreach($allowed_tags_array as $tags)
echo "Done";
?>
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : basic functionality ***
-- Iteration 1 --
string(33) "helloworldOther text"
diff --git a/ext/standard/tests/strings/strip_tags_variation10.phpt b/ext/standard/tests/strings/strip_tags_variation10.phpt
index eef338fa9ca04..c03ceac632650 100644
--- a/ext/standard/tests/strings/strip_tags_variation10.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation10.phpt
@@ -39,6 +39,7 @@ foreach($single_quote_string as $string_value)
echo "Done";
?>
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(51) " \$ -> This represents the dollar sign"
diff --git a/ext/standard/tests/strings/strip_tags_variation11.phpt b/ext/standard/tests/strings/strip_tags_variation11.phpt
index 63d579f4adaba..6b83f7ce19f61 100644
--- a/ext/standard/tests/strings/strip_tags_variation11.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation11.phpt
@@ -29,6 +29,7 @@ foreach($string_array as $string)
echo "Done";
?>
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : obscure functionality ***
-- Iteration 1 --
string(12) "hello world"
diff --git a/ext/standard/tests/strings/strip_tags_variation2.phpt b/ext/standard/tests/strings/strip_tags_variation2.phpt
index ee7d5c6cbc5c4..af1bb101c5966 100644
--- a/ext/standard/tests/strings/strip_tags_variation2.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation2.phpt
@@ -86,6 +86,7 @@ foreach($values as $value) {
echo "Done";
?>
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(10) "helloworld"
diff --git a/ext/standard/tests/strings/strip_tags_variation4.phpt b/ext/standard/tests/strings/strip_tags_variation4.phpt
index 2118d58959fe9..3c5f0392ad1d2 100644
--- a/ext/standard/tests/strings/strip_tags_variation4.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation4.phpt
@@ -46,6 +46,7 @@ foreach($strings as $string_value)
echo "Done";
?>
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(32) "hello world... strip_tags_test"
diff --git a/ext/standard/tests/strings/strip_tags_variation5.phpt b/ext/standard/tests/strings/strip_tags_variation5.phpt
index e6b19540e3949..1edbeedd2fda9 100644
--- a/ext/standard/tests/strings/strip_tags_variation5.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation5.phpt
@@ -78,6 +78,7 @@ for($index =0; $index < count($res_heredoc_strings); $index ++) {
echo "Done\n";
?>
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(0) ""
@@ -89,7 +90,8 @@ string(67) "hello world
This is a double quoted string"
-- Iteration 4 --
-string(44) "hello
world
+string(44) "hello
+ world
1111 != 2222
"
-- Iteration 5 --
diff --git a/ext/standard/tests/strings/strip_tags_variation6.phpt b/ext/standard/tests/strings/strip_tags_variation6.phpt
index b066e718b39b2..dfe86302544f1 100644
--- a/ext/standard/tests/strings/strip_tags_variation6.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation6.phpt
@@ -35,6 +35,7 @@ foreach($strings as $value)
echo "Done";
?>
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(18) " I am html string "
diff --git a/ext/standard/tests/strings/strip_tags_variation7.phpt b/ext/standard/tests/strings/strip_tags_variation7.phpt
index 5ff9177b18463..43bd5d8e60d27 100644
--- a/ext/standard/tests/strings/strip_tags_variation7.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation7.phpt
@@ -44,6 +44,7 @@ foreach($strings as $string_value)
echo "Done";
?>
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(43) "hello world... strip_tags_test"
diff --git a/ext/standard/tests/strings/strip_tags_variation8.phpt b/ext/standard/tests/strings/strip_tags_variation8.phpt
index f3c5a17136ad2..0b2bf124fd375 100644
--- a/ext/standard/tests/strings/strip_tags_variation8.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation8.phpt
@@ -39,6 +39,7 @@ foreach($quotes as $string_value)
echo "Done";
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(33) "hello world... strip_tags_test"
diff --git a/ext/standard/tests/strings/strip_tags_variation9.phpt b/ext/standard/tests/strings/strip_tags_variation9.phpt
index 843653c208df5..83a9932491bf8 100644
--- a/ext/standard/tests/strings/strip_tags_variation9.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation9.phpt
@@ -37,11 +37,13 @@ foreach($double_quote_string as $string_value)
echo "Done";
--EXPECT--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(50) " $ -> This represents the dollar sign"
-- Iteration 2 --
-string(59) "
The quick brown fox jumped over the lazy dog
"
+string(59) "
+ The quick brown fox jumped over the lazy dog"
-- Iteration 3 --
string(31) "This is a hyper text tag"
-- Iteration 4 --
@@ -49,6 +51,7 @@ string(0) ""
-- Iteration 5 --
string(26) "This is a paragraph
"
-- Iteration 6 --
-string(62) "This is a text in bold letters
\s\malong with slashes
+string(62) "This is a text in bold letters
+\s\malong with slashes
"
Done
From 6d4fb589502b2211b97d1ae8aa7b2a2bed44585b Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Fri, 22 Mar 2019 01:58:01 +0100
Subject: [PATCH 03/14] Changed default value of PHP short tags in Zend engine
and Windows headers.
---
Zend/zend.c | 4 ++--
win32/build/config.w32.h.in | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Zend/zend.c b/Zend/zend.c
index fceaae62e44f2..b3b97248ed1bf 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -511,10 +511,10 @@ static FILE *zend_fopen_wrapper(const char *filename, zend_string **opened_path)
/* }}} */
#ifdef ZTS
-static zend_bool short_tags_default = 1;
+static zend_bool short_tags_default = 0;
static uint32_t compiler_options_default = ZEND_COMPILE_DEFAULT;
#else
-# define short_tags_default 1
+# define short_tags_default 0
# define compiler_options_default ZEND_COMPILE_DEFAULT
#endif
diff --git a/win32/build/config.w32.h.in b/win32/build/config.w32.h.in
index 06632b0e20d61..b678b69f12bbb 100644
--- a/win32/build/config.w32.h.in
+++ b/win32/build/config.w32.h.in
@@ -24,7 +24,7 @@
/* PHP Runtime Configuration */
#define PHP_URL_FOPEN 1
#define USE_CONFIG_FILE 1
-#define DEFAULT_SHORT_OPEN_TAG "1"
+#define DEFAULT_SHORT_OPEN_TAG "0"
/* Platform-Specific Configuration. Should not be changed. */
#define PHP_SIGCHILD 0
From a444139569a6365c9bc7598bbeff1b5e512f57ab Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Fri, 22 Mar 2019 02:09:43 +0100
Subject: [PATCH 04/14] Add Depreciation notice to tokeniser tests which use
short tag INI.
---
ext/tokenizer/tests/002.phpt | 3 ++-
ext/tokenizer/tests/token_get_all_variation15.phpt | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/ext/tokenizer/tests/002.phpt b/ext/tokenizer/tests/002.phpt
index 2a40ffe292fd5..68e13b365a4d9 100644
--- a/ext/tokenizer/tests/002.phpt
+++ b/ext/tokenizer/tests/002.phpt
@@ -3,7 +3,7 @@ token_get_all()
--SKIPIF--
--INI--
-short_open_tag=1
+short_open_tag=On
--FILE--
--EXPECTF--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
array(49) {
[0]=>
array(3) {
diff --git a/ext/tokenizer/tests/token_get_all_variation15.phpt b/ext/tokenizer/tests/token_get_all_variation15.phpt
index 56269f5d01463..88d112c8518b6 100644
--- a/ext/tokenizer/tests/token_get_all_variation15.phpt
+++ b/ext/tokenizer/tests/token_get_all_variation15.phpt
@@ -49,6 +49,7 @@ var_dump( token_get_all($source));
echo "Done"
?>
--EXPECTF--
+Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing token_get_all() : with heredoc source string ***
array(103) {
[0]=>
From 21917d275b12c180c85b6834115b57f1130dbcc6 Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Fri, 22 Mar 2019 03:15:51 +0100
Subject: [PATCH 05/14] Fix strip_tags tests.
---
ext/standard/tests/strings/strip_tags_variation5.phpt | 3 +--
ext/standard/tests/strings/strip_tags_variation9.phpt | 6 ++----
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/ext/standard/tests/strings/strip_tags_variation5.phpt b/ext/standard/tests/strings/strip_tags_variation5.phpt
index 1edbeedd2fda9..4c7944ba1b308 100644
--- a/ext/standard/tests/strings/strip_tags_variation5.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation5.phpt
@@ -90,8 +90,7 @@ string(67) "hello world
This is a double quoted string"
-- Iteration 4 --
-string(44) "hello
- world
+string(44) "hello
world
1111 != 2222
"
-- Iteration 5 --
diff --git a/ext/standard/tests/strings/strip_tags_variation9.phpt b/ext/standard/tests/strings/strip_tags_variation9.phpt
index 83a9932491bf8..78a34dcf6f572 100644
--- a/ext/standard/tests/strings/strip_tags_variation9.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation9.phpt
@@ -42,8 +42,7 @@ Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
-- Iteration 1 --
string(50) " $ -> This represents the dollar sign"
-- Iteration 2 --
-string(59) "
- The quick brown fox jumped over the lazy dog"
+string(59) "
The quick brown fox jumped over the lazy dog"
-- Iteration 3 --
string(31) "This is a hyper text tag"
-- Iteration 4 --
@@ -51,7 +50,6 @@ string(0) ""
-- Iteration 5 --
string(26) "This is a paragraph
"
-- Iteration 6 --
-string(62) "This is a text in bold letters
-\s\malong with slashes
+string(62) "This is a text in bold letters
\s\malong with slashes
"
Done
From 2b6cdcf35e656b6b9cb69f126321d689c02a49e0 Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Fri, 22 Mar 2019 05:37:06 +0100
Subject: [PATCH 06/14] Remove PHP Short Tags.
---
Zend/zend.c | 4 ---
.../tests/strings/strip_tags_basic1.phpt | 3 --
.../tests/strings/strip_tags_basic2.phpt | 3 --
.../tests/strings/strip_tags_variation10.phpt | 3 --
.../tests/strings/strip_tags_variation11.phpt | 3 --
.../tests/strings/strip_tags_variation2.phpt | 3 --
.../tests/strings/strip_tags_variation4.phpt | 3 --
.../tests/strings/strip_tags_variation5.phpt | 3 --
.../tests/strings/strip_tags_variation6.phpt | 3 --
.../tests/strings/strip_tags_variation7.phpt | 3 --
.../tests/strings/strip_tags_variation8.phpt | 3 --
.../tests/strings/strip_tags_variation9.phpt | 3 --
ext/tokenizer/tests/002.phpt | 3 --
.../tests/token_get_all_variation15.phpt | 3 --
main/main.c | 3 +-
tests/lang/short_tags.001.phpt | 13 -------
tests/lang/short_tags.002.phpt | 14 --------
tests/lang/short_tags.004.phpt | 34 -------------------
win32/build/config.w32.h.in | 1 -
19 files changed, 1 insertion(+), 107 deletions(-)
delete mode 100644 tests/lang/short_tags.001.phpt
delete mode 100644 tests/lang/short_tags.002.phpt
delete mode 100644 tests/lang/short_tags.004.phpt
diff --git a/Zend/zend.c b/Zend/zend.c
index b3b97248ed1bf..54d8f22fdd3a5 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -511,17 +511,14 @@ static FILE *zend_fopen_wrapper(const char *filename, zend_string **opened_path)
/* }}} */
#ifdef ZTS
-static zend_bool short_tags_default = 0;
static uint32_t compiler_options_default = ZEND_COMPILE_DEFAULT;
#else
-# define short_tags_default 0
# define compiler_options_default ZEND_COMPILE_DEFAULT
#endif
static void zend_set_default_compile_time_values(void) /* {{{ */
{
/* default compile-time values */
- CG(short_tags) = short_tags_default;
CG(compiler_options) = compiler_options_default;
}
/* }}} */
@@ -1002,7 +999,6 @@ int zend_post_startup(void) /* {{{ */
*GLOBAL_CONSTANTS_TABLE = *executor_globals->zend_constants;
global_map_ptr_last = compiler_globals->map_ptr_last;
- short_tags_default = CG(short_tags);
compiler_options_default = CG(compiler_options);
zend_destroy_rsrc_list(&EG(persistent_list));
diff --git a/ext/standard/tests/strings/strip_tags_basic1.phpt b/ext/standard/tests/strings/strip_tags_basic1.phpt
index 865ae3823ce3d..77cab238769fc 100644
--- a/ext/standard/tests/strings/strip_tags_basic1.phpt
+++ b/ext/standard/tests/strings/strip_tags_basic1.phpt
@@ -1,7 +1,5 @@
--TEST--
Test strip_tags() function : basic functionality - with default arguments
---INI--
-short_open_tag = on
--FILE--
--EXPECT--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : basic functionality ***
-- Iteration 1 --
string(5) "hello"
diff --git a/ext/standard/tests/strings/strip_tags_basic2.phpt b/ext/standard/tests/strings/strip_tags_basic2.phpt
index 17b5f9cd6465e..854c267b2266f 100644
--- a/ext/standard/tests/strings/strip_tags_basic2.phpt
+++ b/ext/standard/tests/strings/strip_tags_basic2.phpt
@@ -1,7 +1,5 @@
--TEST--
Test strip_tags() function : basic functionality - with all arguments
---INI--
-short_open_tag = on
--FILE--
--EXPECT--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : basic functionality ***
-- Iteration 1 --
string(33) "helloworldOther text"
diff --git a/ext/standard/tests/strings/strip_tags_variation10.phpt b/ext/standard/tests/strings/strip_tags_variation10.phpt
index c03ceac632650..f04f06a527a3b 100644
--- a/ext/standard/tests/strings/strip_tags_variation10.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation10.phpt
@@ -1,7 +1,5 @@
--TEST--
Test strip_tags() function : usage variations - single quoted strings
---INI--
-short_open_tag = on
--FILE--
--EXPECT--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(51) " \$ -> This represents the dollar sign"
diff --git a/ext/standard/tests/strings/strip_tags_variation11.phpt b/ext/standard/tests/strings/strip_tags_variation11.phpt
index 6b83f7ce19f61..eb8193833c926 100644
--- a/ext/standard/tests/strings/strip_tags_variation11.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation11.phpt
@@ -1,7 +1,5 @@
--TEST--
Test strip_tags() function : obscure values within attributes
---INI--
-short_open_tag = on
--FILE--
--EXPECT--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : obscure functionality ***
-- Iteration 1 --
string(12) "hello world"
diff --git a/ext/standard/tests/strings/strip_tags_variation2.phpt b/ext/standard/tests/strings/strip_tags_variation2.phpt
index af1bb101c5966..1a504530d29f3 100644
--- a/ext/standard/tests/strings/strip_tags_variation2.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation2.phpt
@@ -1,7 +1,5 @@
--TEST--
Test strip_tags() function : usage variations - unexpected values for 'allowable_tags'
---INI--
-short_open_tag = on
--FILE--
--EXPECT--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(10) "helloworld"
diff --git a/ext/standard/tests/strings/strip_tags_variation4.phpt b/ext/standard/tests/strings/strip_tags_variation4.phpt
index 3c5f0392ad1d2..484438ef6e5c2 100644
--- a/ext/standard/tests/strings/strip_tags_variation4.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation4.phpt
@@ -1,7 +1,5 @@
--TEST--
Test strip_tags() function : usage variations - invalid values for 'str' and valid 'allowable_tags'
---INI--
-short_open_tag = on
--FILE--
--EXPECT--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(32) "hello world... strip_tags_test"
diff --git a/ext/standard/tests/strings/strip_tags_variation5.phpt b/ext/standard/tests/strings/strip_tags_variation5.phpt
index 4c7944ba1b308..e96d2c55c139e 100644
--- a/ext/standard/tests/strings/strip_tags_variation5.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation5.phpt
@@ -1,7 +1,5 @@
--TEST--
Test strip_tags() function : usage variations - heredoc strings
---INI--
-short_open_tag = on
--FILE--
--EXPECT--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(0) ""
diff --git a/ext/standard/tests/strings/strip_tags_variation6.phpt b/ext/standard/tests/strings/strip_tags_variation6.phpt
index dfe86302544f1..3fbda44023ff1 100644
--- a/ext/standard/tests/strings/strip_tags_variation6.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation6.phpt
@@ -1,7 +1,5 @@
--TEST--
Test strip_tags() function : usage variations - binary safe checking
---INI--
-short_open_tag = on
--FILE--
--EXPECT--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(18) " I am html string "
diff --git a/ext/standard/tests/strings/strip_tags_variation7.phpt b/ext/standard/tests/strings/strip_tags_variation7.phpt
index 43bd5d8e60d27..7c2d9255d6f51 100644
--- a/ext/standard/tests/strings/strip_tags_variation7.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation7.phpt
@@ -1,7 +1,5 @@
--TEST--
Test strip_tags() function : usage variations - invalid values for 'str' and 'allowable_tags'
---INI--
-short_open_tag = on
--FILE--
--EXPECT--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
string(43) "hello world... strip_tags_test"
diff --git a/ext/standard/tests/strings/strip_tags_variation8.phpt b/ext/standard/tests/strings/strip_tags_variation8.phpt
index 0b2bf124fd375..e44e296c5ddd2 100644
--- a/ext/standard/tests/strings/strip_tags_variation8.phpt
+++ b/ext/standard/tests/strings/strip_tags_variation8.phpt
@@ -1,7 +1,5 @@
--TEST--
Test strip_tags() function : usage variations - valid value for 'str' and invalid values for 'allowable_tags'
---INI--
-short_open_tag = on
--FILE--
$ -> This represents the dollar sign"
diff --git a/ext/tokenizer/tests/002.phpt b/ext/tokenizer/tests/002.phpt
index 68e13b365a4d9..2236f08b8580d 100644
--- a/ext/tokenizer/tests/002.phpt
+++ b/ext/tokenizer/tests/002.phpt
@@ -2,8 +2,6 @@
token_get_all()
--SKIPIF--
---INI--
-short_open_tag=On
--FILE--
--EXPECTF--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
array(49) {
[0]=>
array(3) {
diff --git a/ext/tokenizer/tests/token_get_all_variation15.phpt b/ext/tokenizer/tests/token_get_all_variation15.phpt
index 88d112c8518b6..b9e6c1fd9f00c 100644
--- a/ext/tokenizer/tests/token_get_all_variation15.phpt
+++ b/ext/tokenizer/tests/token_get_all_variation15.phpt
@@ -2,8 +2,6 @@
Test token_get_all() function : usage variations - heredoc string for 'source'
--SKIPIF--
---INI--
-short_open_tag=On
--FILE--
--EXPECTF--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
*** Testing token_get_all() : with heredoc source string ***
array(103) {
[0]=>
diff --git a/main/main.c b/main/main.c
index 05598f9dafab3..860197541df4a 100644
--- a/main/main.c
+++ b/main/main.c
@@ -728,7 +728,6 @@ PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("output_handler", NULL, PHP_INI_PERDIR|PHP_INI_SYSTEM, OnUpdateString, output_handler, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("register_argc_argv", "1", PHP_INI_PERDIR|PHP_INI_SYSTEM, OnUpdateBool, register_argc_argv, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("auto_globals_jit", "1", PHP_INI_PERDIR|PHP_INI_SYSTEM, OnUpdateBool, auto_globals_jit, php_core_globals, core_globals)
- STD_PHP_INI_BOOLEAN("short_open_tag", DEFAULT_SHORT_OPEN_TAG, PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateBool, short_tags, zend_compiler_globals, compiler_globals)
STD_PHP_INI_ENTRY("unserialize_callback_func", NULL, PHP_INI_ALL, OnUpdateString, unserialize_callback_func, php_core_globals, core_globals)
STD_PHP_INI_ENTRY("serialize_precision", "-1", PHP_INI_ALL, OnSetSerializePrecision, serialize_precision, php_core_globals, core_globals)
@@ -2344,7 +2343,7 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
struct {
const long error_level;
const char *phrase;
- const char *directives[18]; /* Remember to change this if the number of directives change */
+ const char *directives[17]; /* Remember to change this if the number of directives change */
} directives[2] = {
{
E_DEPRECATED,
diff --git a/tests/lang/short_tags.001.phpt b/tests/lang/short_tags.001.phpt
deleted file mode 100644
index a9145a1150643..0000000000000
--- a/tests/lang/short_tags.001.phpt
+++ /dev/null
@@ -1,13 +0,0 @@
---TEST--
-short_open_tag: On
---INI--
-short_open_tag=on
---FILE--
-
-echo "Used a short tag\n";
-?>
-Finished
---EXPECT--
-Deprecated: Directive 'short_open_tag' is deprecated in Unknown on line 0
-Used a short tag
-Finished
diff --git a/tests/lang/short_tags.002.phpt b/tests/lang/short_tags.002.phpt
deleted file mode 100644
index 6a3d5e09968f2..0000000000000
--- a/tests/lang/short_tags.002.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
---TEST--
-short_open_tag: Off
---INI--
-short_open_tag=off
---FILE--
-
-echo "Used a short tag\n";
-?>
-Finished
---EXPECT--
-
-echo "Used a short tag\n";
-?>
-Finished
diff --git a/tests/lang/short_tags.004.phpt b/tests/lang/short_tags.004.phpt
deleted file mode 100644
index 6df8af1c2a698..0000000000000
--- a/tests/lang/short_tags.004.phpt
+++ /dev/null
@@ -1,34 +0,0 @@
---TEST--
-short_open_tag: Off
---INI--
-short_open_tag=off
---FILE--
-<%= 'so should this' %>
-
-
-
-= $a?>
-
-<%= $a%>
-
- $b=3; ?>
-
-
-= "{$b}"?>
---EXPECTF--
-<%= 'so should this' %>
-
-
-This gets echoed twice
-<%= $a%>
-
- $b=3; ?>
-
-
-Notice: Undefined variable: b in %s on line %d
-
-Notice: Undefined variable: b in %s on line %d
diff --git a/win32/build/config.w32.h.in b/win32/build/config.w32.h.in
index b678b69f12bbb..4d70fd91506cc 100644
--- a/win32/build/config.w32.h.in
+++ b/win32/build/config.w32.h.in
@@ -24,7 +24,6 @@
/* PHP Runtime Configuration */
#define PHP_URL_FOPEN 1
#define USE_CONFIG_FILE 1
-#define DEFAULT_SHORT_OPEN_TAG "0"
/* Platform-Specific Configuration. Should not be changed. */
#define PHP_SIGCHILD 0
From 037e2a9ac52ed1a20dd3cd4b59ec2827b1698395 Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Fri, 22 Mar 2019 17:35:10 +0100
Subject: [PATCH 07/14] Added short_open_tags to E_CORE_ERROR
---
main/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/main/main.c b/main/main.c
index 860197541df4a..b5887e2ca799a 100644
--- a/main/main.c
+++ b/main/main.c
@@ -2373,6 +2373,7 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
"safe_mode_protected_env_vars",
"zend.ze1_compatibility_mode",
"track_errors",
+ "short_open_tag",
NULL
}
}
From 4b249af66153aba123824d29aebaa1f3f2c26e15 Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Fri, 22 Mar 2019 17:35:58 +0100
Subject: [PATCH 08/14] Removed info about short_open_tags in INI files
---
php.ini-development | 13 -------------
php.ini-production | 13 -------------
2 files changed, 26 deletions(-)
diff --git a/php.ini-development b/php.ini-development
index b68c2cabdd3d0..09d6abbb45bb0 100644
--- a/php.ini-development
+++ b/php.ini-development
@@ -173,19 +173,6 @@
; http://php.net/engine
engine = On
-; This directive determines whether or not PHP will recognize code between
-; and ?> tags as PHP source which should be processed as such. It is
-; generally recommended that should be used and that this feature
-; should be disabled, as enabling it may result in issues when generating XML
-; documents, however this remains supported for backward compatibility reasons.
-; Note that this directive does not control the = shorthand tag, which can be
-; used regardless of this directive.
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://php.net/short-open-tag
-short_open_tag = Off
-
; The number of significant digits displayed in floating point numbers.
; http://php.net/precision
precision = 14
diff --git a/php.ini-production b/php.ini-production
index c8e517f9c0f44..099d88a9dff7f 100644
--- a/php.ini-production
+++ b/php.ini-production
@@ -173,19 +173,6 @@
; http://php.net/engine
engine = On
-; This directive determines whether or not PHP will recognize code between
-; and ?> tags as PHP source which should be processed as such. It is
-; generally recommended that should be used and that this feature
-; should be disabled, as enabling it may result in issues when generating XML
-; documents, however this remains supported for backward compatibility reasons.
-; Note that this directive does not control the = shorthand tag, which can be
-; used regardless of this directive.
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://php.net/short-open-tag
-short_open_tag = Off
-
; The number of significant digits displayed in floating point numbers.
; http://php.net/precision
precision = 14
From 7326a68d28b60a6e38d8cf5e9e9ffdb1cf83b7d5 Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Fri, 22 Mar 2019 19:10:28 +0100
Subject: [PATCH 09/14] Remove PHP Short tags from language scanner and globals
---
Zend/zend_globals.h | 1 -
Zend/zend_language_scanner.l | 15 +--------------
2 files changed, 1 insertion(+), 15 deletions(-)
diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h
index 6644e735cae17..b0c2b0b029e5d 100644
--- a/Zend/zend_globals.h
+++ b/Zend/zend_globals.h
@@ -83,7 +83,6 @@ struct _zend_compiler_globals {
zend_bool parse_error;
zend_bool in_compilation;
- zend_bool short_tags;
zend_bool unclean_shutdown;
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index b1e25ebae51b3..890342e4babab 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -1947,19 +1947,6 @@ string:
RETURN_TOKEN(T_OPEN_TAG);
}
-
-"" {
- if (CG(short_tags)) {
- BEGIN(ST_IN_SCRIPTING);
- if (PARSER_MODE()) {
- SKIP_TOKEN(T_OPEN_TAG);
- }
- RETURN_TOKEN(T_OPEN_TAG);
- } else {
- goto inline_char_handler;
- }
-}
-
{ANY_CHAR} {
if (YYCURSOR > YYLIMIT) {
RETURN_TOKEN(END);
@@ -1977,7 +1964,7 @@ inline_char_handler:
}
if (*YYCURSOR == '?') {
- if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
+ if (!strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
YYCURSOR--;
break;
From 8652f1858c2167345a12b13533b142366d2abede Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Fri, 22 Mar 2019 19:12:15 +0100
Subject: [PATCH 10/14] Removed PHP short tags option in build config file
---
configure.ac | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/configure.ac b/configure.ac
index 00a16cf2bfbe0..d17d9cf737012 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1000,19 +1000,6 @@ if test "$PHP_LIBGCC" = "yes"; then
PHP_ADD_LIBRARY(gcc, yes)
fi
-PHP_ARG_ENABLE([short-tags],
- [whether to enable short tags by default],
- [AS_HELP_STRING([--disable-short-tags],
- [Disable the short-form start tag by default])],
- [yes],
- [no])
-
-if test "$PHP_SHORT_TAGS" = "yes"; then
- AC_DEFINE(DEFAULT_SHORT_OPEN_TAG, "1", [ ])
-else
- AC_DEFINE(DEFAULT_SHORT_OPEN_TAG, "0", [ ])
-fi
-
PHP_ARG_ENABLE([dmalloc],
[whether to enable dmalloc],
[AS_HELP_STRING([--enable-dmalloc],
From 4cd8625089000cf4a3a717076d94bf9f9277b2d9 Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Fri, 22 Mar 2019 19:31:03 +0100
Subject: [PATCH 11/14] Remove short open tag detection from Readline extension
---
ext/readline/readline_cli.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/ext/readline/readline_cli.c b/ext/readline/readline_cli.c
index 956386c532ec3..1e2f7fdc8d3a8 100644
--- a/ext/readline/readline_cli.c
+++ b/ext/readline/readline_cli.c
@@ -359,9 +359,7 @@ static int cli_is_valid_code(char *code, size_t len, zend_string **prompt) /* {{
}
break;
case outside:
- if ((CG(short_tags) && !strncmp(code+i-1, "", 2))
- || (i > 3 && !strncmp(code+i-4, " 3 && !strncmp(code+i-4, "
Date: Fri, 22 Mar 2019 19:33:06 +0100
Subject: [PATCH 12/14] Remove short open tag INI declaration in Unit test for
bug 55445
---
Zend/tests/bug55445.phpt | 2 --
1 file changed, 2 deletions(-)
diff --git a/Zend/tests/bug55445.phpt b/Zend/tests/bug55445.phpt
index 2ccba5ff082b8..8ab06860baf9d 100644
--- a/Zend/tests/bug55445.phpt
+++ b/Zend/tests/bug55445.phpt
@@ -1,7 +1,5 @@
--TEST--
Bug #55445 (Lexer error with short open tags)
---INI--
-short_open_tag=0
--FILE--
Welcome = $u ?>
--EXPECT--
From 14f551b16b7fa7c1eec7a7c6474eed663ed659ed Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Mon, 25 Mar 2019 03:38:51 +0100
Subject: [PATCH 13/14] Fix number of directives
---
main/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/main/main.c b/main/main.c
index b5887e2ca799a..4a63d02af305f 100644
--- a/main/main.c
+++ b/main/main.c
@@ -2343,7 +2343,7 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
struct {
const long error_level;
const char *phrase;
- const char *directives[17]; /* Remember to change this if the number of directives change */
+ const char *directives[19]; /* Remember to change this if the number of directives change */
} directives[2] = {
{
E_DEPRECATED,
From 23a94571014bae809f91f750c63b225cf5002774 Mon Sep 17 00:00:00 2001
From: George Peter Banyard
Date: Mon, 25 Mar 2019 19:07:02 +0100
Subject: [PATCH 14/14] Fix tokenizer test
---
ext/tokenizer/tests/002.phpt | 820 +++--------------------------------
1 file changed, 70 insertions(+), 750 deletions(-)
diff --git a/ext/tokenizer/tests/002.phpt b/ext/tokenizer/tests/002.phpt
index 2236f08b8580d..031912cacf45b 100644
--- a/ext/tokenizer/tests/002.phpt
+++ b/ext/tokenizer/tests/002.phpt
@@ -20,948 +20,268 @@ foreach ($strings as $s) {
echo "Done\n";
?>
--EXPECTF--
-array(49) {
- [0]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) ""
- [2]=>
- int(1)
- }
- [1]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [2]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(4) "echo"
- [2]=>
- int(1)
- }
- [3]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [4]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "1"
- [2]=>
- int(1)
- }
- [5]=>
- string(1) ";"
- [6]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [7]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "if"
- [2]=>
- int(1)
- }
- [8]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [9]=>
- string(1) "("
- [10]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "isset"
- [2]=>
- int(1)
- }
- [11]=>
- string(1) "("
- [12]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$a"
- [2]=>
- int(1)
- }
- [13]=>
- string(1) ")"
- [14]=>
- string(1) ")"
- [15]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [16]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "print"
- [2]=>
- int(1)
- }
- [17]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [18]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$a"
- [2]=>
- int(1)
- }
- [19]=>
- string(1) "+"
- [20]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "1"
- [2]=>
- int(1)
- }
- [21]=>
- string(1) ";"
- [22]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [23]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$a"
- [2]=>
- int(1)
- }
- [24]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "++"
- [2]=>
- int(1)
- }
- [25]=>
- string(1) ";"
- [26]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [27]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$a"
- [2]=>
- int(1)
- }
- [28]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "--"
- [2]=>
- int(1)
- }
- [29]=>
- string(1) ";"
- [30]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [31]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$a"
- [2]=>
- int(1)
- }
- [32]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [33]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "=="
- [2]=>
- int(1)
- }
- [34]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [35]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "2"
- [2]=>
- int(1)
- }
- [36]=>
- string(1) ";"
- [37]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [38]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$a"
- [2]=>
- int(1)
- }
- [39]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [40]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(3) "==="
- [2]=>
- int(1)
- }
- [41]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [42]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "2"
- [2]=>
- int(1)
- }
- [43]=>
- string(1) ";"
- [44]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [45]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "endif"
- [2]=>
- int(1)
- }
- [46]=>
- string(1) ";"
- [47]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [48]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "?>"
- [2]=>
- int(1)
- }
-}
-array(37) {
- [0]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(6) "
- int(1)
- }
- [1]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(6) "switch"
- [2]=>
- int(1)
- }
- [2]=>
- string(1) "("
- [3]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$a"
- [2]=>
- int(1)
- }
- [4]=>
- string(1) ")"
- [5]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [6]=>
- string(1) "{"
- [7]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [8]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(4) "case"
- [2]=>
- int(1)
- }
- [9]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [10]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "1"
- [2]=>
- int(1)
- }
- [11]=>
- string(1) ":"
- [12]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [13]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "break"
- [2]=>
- int(1)
- }
- [14]=>
- string(1) ";"
- [15]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [16]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(7) "default"
- [2]=>
- int(1)
- }
- [17]=>
- string(1) ":"
- [18]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [19]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "break"
- [2]=>
- int(1)
- }
- [20]=>
- string(1) ";"
- [21]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [22]=>
- string(1) "}"
- [23]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [24]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(5) "while"
- [2]=>
- int(1)
- }
- [25]=>
- string(1) "("
- [26]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$a"
- [2]=>
- int(1)
- }
- [27]=>
- string(1) ")"
- [28]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [29]=>
- string(1) "{"
- [30]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [31]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(4) "exit"
- [2]=>
- int(1)
- }
- [32]=>
- string(1) ";"
- [33]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [34]=>
- string(1) "}"
- [35]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [36]=>
+array(1) {
+ [0]=>
array(3) {
[0]=>
- int(%d)
+ int(314)
[1]=>
- string(2) "?>"
+ string(78) " echo 1; if (isset($a)) print $a+1; $a++; $a--; $a == 2; $a === 2; endif; ?>"
[2]=>
int(1)
}
}
-array(48) {
+array(37) {
[0]=>
array(3) {
[0]=>
- int(%d)
+ int(380)
[1]=>
- string(2) ""
+ string(6) "
int(1)
}
[1]=>
array(3) {
[0]=>
- int(%d)
+ int(334)
[1]=>
- string(1) " "
+ string(6) "switch"
[2]=>
int(1)
}
[2]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(13) "/* comment */"
- [2]=>
- int(1)
- }
+ string(1) "("
[3]=>
array(3) {
[0]=>
- int(%d)
+ int(313)
[1]=>
- string(1) " "
+ string(2) "$a"
[2]=>
int(1)
}
[4]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "if"
- [2]=>
- int(1)
- }
+ string(1) ")"
[5]=>
array(3) {
[0]=>
- int(%d)
+ int(383)
[1]=>
string(1) " "
[2]=>
int(1)
}
[6]=>
- string(1) "("
+ string(1) "{"
[7]=>
array(3) {
[0]=>
- int(%d)
+ int(383)
[1]=>
- string(1) "1"
+ string(1) " "
[2]=>
int(1)
}
[8]=>
array(3) {
[0]=>
- int(%d)
+ int(336)
[1]=>
- string(1) " "
+ string(4) "case"
[2]=>
int(1)
}
[9]=>
array(3) {
[0]=>
- int(%d)
+ int(383)
[1]=>
- string(2) "||"
+ string(1) " "
[2]=>
int(1)
}
[10]=>
array(3) {
[0]=>
- int(%d)
+ int(310)
[1]=>
- string(1) " "
+ string(1) "1"
[2]=>
int(1)
}
[11]=>
+ string(1) ":"
+ [12]=>
array(3) {
[0]=>
- int(%d)
+ int(383)
[1]=>
- string(1) "2"
+ string(1) " "
[2]=>
int(1)
}
- [12]=>
- string(1) ")"
[13]=>
array(3) {
[0]=>
- int(%d)
+ int(338)
[1]=>
- string(1) " "
+ string(5) "break"
[2]=>
int(1)
}
[14]=>
- string(1) "{"
+ string(1) ";"
[15]=>
array(3) {
[0]=>
- int(%d)
+ int(383)
[1]=>
string(1) " "
[2]=>
int(1)
}
[16]=>
- string(1) "}"
- [17]=>
array(3) {
[0]=>
- int(%d)
+ int(337)
[1]=>
- string(1) " "
+ string(7) "default"
[2]=>
int(1)
}
+ [17]=>
+ string(1) ":"
[18]=>
array(3) {
[0]=>
- int(%d)
+ int(383)
[1]=>
- string(2) "$a"
+ string(1) " "
[2]=>
int(1)
}
[19]=>
array(3) {
[0]=>
- int(%d)
+ int(338)
[1]=>
- string(1) " "
+ string(5) "break"
[2]=>
int(1)
}
[20]=>
- string(1) "="
+ string(1) ";"
[21]=>
array(3) {
[0]=>
- int(%d)
+ int(383)
[1]=>
string(1) " "
[2]=>
int(1)
}
[22]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "2"
- [2]=>
- int(1)
- }
+ string(1) "}"
[23]=>
array(3) {
[0]=>
- int(%d)
+ int(383)
[1]=>
string(1) " "
[2]=>
int(1)
}
[24]=>
- string(1) "|"
- [25]=>
array(3) {
[0]=>
- int(%d)
+ int(325)
[1]=>
- string(1) " "
+ string(5) "while"
[2]=>
int(1)
}
+ [25]=>
+ string(1) "("
[26]=>
array(3) {
[0]=>
- int(%d)
+ int(313)
[1]=>
- string(1) "1"
+ string(2) "$a"
[2]=>
int(1)
}
[27]=>
- string(1) ";"
+ string(1) ")"
[28]=>
array(3) {
[0]=>
- int(%d)
+ int(383)
[1]=>
string(1) " "
[2]=>
int(1)
}
[29]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$b"
- [2]=>
- int(1)
- }
+ string(1) "{"
[30]=>
array(3) {
[0]=>
- int(%d)
+ int(383)
[1]=>
string(1) " "
[2]=>
int(1)
}
[31]=>
- string(1) "="
- [32]=>
array(3) {
[0]=>
- int(%d)
+ int(320)
[1]=>
- string(1) " "
+ string(4) "exit"
[2]=>
int(1)
}
+ [32]=>
+ string(1) ";"
[33]=>
array(3) {
[0]=>
- int(%d)
+ int(383)
[1]=>
- string(1) "3"
+ string(1) " "
[2]=>
int(1)
}
[34]=>
- string(1) "^"
+ string(1) "}"
[35]=>
array(3) {
[0]=>
- int(%d)
- [1]=>
- string(1) "2"
- [2]=>
- int(1)
- }
- [36]=>
- string(1) ";"
- [37]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [38]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(2) "$c"
- [2]=>
- int(1)
- }
- [39]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) " "
- [2]=>
- int(1)
- }
- [40]=>
- string(1) "="
- [41]=>
- array(3) {
- [0]=>
- int(%d)
+ int(383)
[1]=>
string(1) " "
[2]=>
int(1)
}
- [42]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "4"
- [2]=>
- int(1)
- }
- [43]=>
- string(1) "&"
- [44]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "2"
- [2]=>
- int(1)
- }
- [45]=>
- string(1) ";"
- [46]=>
+ [36]=>
array(3) {
[0]=>
- int(%d)
+ int(382)
[1]=>
- string(1) " "
+ string(2) "?>"
[2]=>
int(1)
}
- [47]=>
+}
+array(1) {
+ [0]=>
array(3) {
[0]=>
- int(%d)
+ int(314)
[1]=>
- string(2) "?>"
+ string(67) " /* comment */ if (1 || 2) { } $a = 2 | 1; $b = 3^2; $c = 4&2; ?>"
[2]=>
int(1)
}
@@ -970,7 +290,7 @@ array(1) {
[0]=>
array(3) {
[0]=>
- int(%d)
+ int(314)
[1]=>
string(17) "wrong syntax here"
[2]=>