diff --git a/NEWS b/NEWS index 4b6e3ff84b6..ad3bcc47ed2 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,7 @@ PHP NEWS - Standard: . Fixed bug GH-17403 (Potential deadlock when putenv fails). (nielsdos) + . Fixed bug GH-18400 (http_build_query type error is inaccurate). (nielsdos) 24 Apr 2025, PHP 8.4.7 diff --git a/ext/standard/http.c b/ext/standard/http.c index fd862b605a7..5411fb3a862 100644 --- a/ext/standard/http.c +++ b/ext/standard/http.c @@ -246,7 +246,7 @@ PHP_FUNCTION(http_build_query) ZEND_PARSE_PARAMETERS_END(); if (UNEXPECTED(Z_TYPE_P(formdata) == IS_OBJECT && (Z_OBJCE_P(formdata)->ce_flags & ZEND_ACC_ENUM))) { - zend_argument_type_error(1, "must be of type array, %s given", zend_zval_value_name(formdata)); + zend_argument_type_error(1, "must not be an enum, %s given", zend_zval_value_name(formdata)); RETURN_THROWS(); } diff --git a/ext/standard/tests/http/gh15650.phpt b/ext/standard/tests/http/gh15650.phpt index 239e0c85164..69655ce407e 100644 --- a/ext/standard/tests/http/gh15650.phpt +++ b/ext/standard/tests/http/gh15650.phpt @@ -33,4 +33,4 @@ try { --EXPECT-- e1=hello+world%21&e2=42 ValueError: Unbacked enum E3 cannot be converted to a string -TypeError: http_build_query(): Argument #1 ($data) must be of type array, E1 given +TypeError: http_build_query(): Argument #1 ($data) must not be an enum, E1 given