From 8a8b376b7e04621feaf66759dc0643ca4765c731 Mon Sep 17 00:00:00 2001 From: lamentxu <1372449351@qq.com> Date: Sat, 4 Apr 2026 18:04:05 +0800 Subject: [PATCH 1/4] add tests --- .../http_response_header_deprecated_read.phpt | 16 ++++++++++++++++ Zend/zend_compile.c | 1 - 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 Zend/tests/http_response_header_deprecated_read.phpt diff --git a/Zend/tests/http_response_header_deprecated_read.phpt b/Zend/tests/http_response_header_deprecated_read.phpt new file mode 100644 index 0000000000000..6e3966b1919ee --- /dev/null +++ b/Zend/tests/http_response_header_deprecated_read.phpt @@ -0,0 +1,16 @@ +--TEST-- +Reading $http_response_header without explicit assignment triggers deprecation warning +--FILE-- + +--EXPECTF-- +Deprecated: The predefined locally scoped $http_response_header variable is deprecated, call http_get_last_response_headers() instead in %s on line %d + +Warning: Undefined variable $http_response_header in %s on line %d diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 6734db09a2e9d..6b385f354fde2 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2971,7 +2971,6 @@ static zend_op *zend_compile_simple_var_no_cv(znode *result, const zend_ast *ast opline->extended_value = ZEND_FETCH_GLOBAL; } else { - // TODO: Have a test case for this? if (name_node.op_type == IS_CONST && type == BP_VAR_R && zend_string_equals_literal(Z_STR(name_node.u.constant), "http_response_header")) { From 2288cb14d4e8353ca7e1f92a51fe724b9e006def Mon Sep 17 00:00:00 2001 From: lamentxu <1372449351@qq.com> Date: Mon, 6 Apr 2026 21:14:14 +0800 Subject: [PATCH 2/4] Revert "add tests" This reverts commit 8a8b376b7e04621feaf66759dc0643ca4765c731. --- .../http_response_header_deprecated_read.phpt | 16 ---------------- Zend/zend_compile.c | 1 + 2 files changed, 1 insertion(+), 16 deletions(-) delete mode 100644 Zend/tests/http_response_header_deprecated_read.phpt diff --git a/Zend/tests/http_response_header_deprecated_read.phpt b/Zend/tests/http_response_header_deprecated_read.phpt deleted file mode 100644 index 6e3966b1919ee..0000000000000 --- a/Zend/tests/http_response_header_deprecated_read.phpt +++ /dev/null @@ -1,16 +0,0 @@ ---TEST-- -Reading $http_response_header without explicit assignment triggers deprecation warning ---FILE-- - ---EXPECTF-- -Deprecated: The predefined locally scoped $http_response_header variable is deprecated, call http_get_last_response_headers() instead in %s on line %d - -Warning: Undefined variable $http_response_header in %s on line %d diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 6b385f354fde2..6734db09a2e9d 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2971,6 +2971,7 @@ static zend_op *zend_compile_simple_var_no_cv(znode *result, const zend_ast *ast opline->extended_value = ZEND_FETCH_GLOBAL; } else { + // TODO: Have a test case for this? if (name_node.op_type == IS_CONST && type == BP_VAR_R && zend_string_equals_literal(Z_STR(name_node.u.constant), "http_response_header")) { From ec52f5b4404fe8e674bd7ff02b82a91f77e881cd Mon Sep 17 00:00:00 2001 From: lamentxu <1372449351@qq.com> Date: Mon, 6 Apr 2026 21:25:21 +0800 Subject: [PATCH 3/4] Create http_response_header_deprecated_dynamic_fetch.phpt --- ...response_header_deprecated_dynamic_fetch.phpt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 ext/standard/tests/http/http_response_header_deprecated_dynamic_fetch.phpt diff --git a/ext/standard/tests/http/http_response_header_deprecated_dynamic_fetch.phpt b/ext/standard/tests/http/http_response_header_deprecated_dynamic_fetch.phpt new file mode 100644 index 0000000000000..e6b90355a4c3b --- /dev/null +++ b/ext/standard/tests/http/http_response_header_deprecated_dynamic_fetch.phpt @@ -0,0 +1,16 @@ +--TEST-- +$http_response_header dynamic fetch should warn +--FILE-- + +--EXPECTF-- +Deprecated: The predefined locally scoped $http_response_header variable is deprecated, call http_get_last_response_headers() instead in %s on line %d +string(2) "OK" From c631c6b776e7267d2fe97cd07c65701f3c99fc44 Mon Sep 17 00:00:00 2001 From: lamentxu <1372449351@qq.com> Date: Mon, 6 Apr 2026 21:25:49 +0800 Subject: [PATCH 4/4] delete TODO message --- Zend/zend_compile.c | 1 - 1 file changed, 1 deletion(-) diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 6734db09a2e9d..6b385f354fde2 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2971,7 +2971,6 @@ static zend_op *zend_compile_simple_var_no_cv(znode *result, const zend_ast *ast opline->extended_value = ZEND_FETCH_GLOBAL; } else { - // TODO: Have a test case for this? if (name_node.op_type == IS_CONST && type == BP_VAR_R && zend_string_equals_literal(Z_STR(name_node.u.constant), "http_response_header")) {