Commit 3d3d3665a73 for php
commit 3d3d3665a7364e25cdcefbfca3caafed44d32a2b
Author: Lazizbek Ergashev <lazerg2@gmail.com>
Date: Thu Oct 22 21:44:05 2026 +0500
Fix GH-24533: Accept z.lib from zlib 1.3.2 CMake builds on Windows (#24539)
* Fix GH-24533: Accept z.lib from zlib 1.3.2 CMake builds on Windows
* Prefer static zs.lib and add NEWS entry
* Accept zlib 1.3.2 lib names in the other zlib lookups
diff --git a/NEWS b/NEWS
index 4c87bae6097..b2a90382e70 100644
--- a/NEWS
+++ b/NEWS
@@ -146,6 +146,8 @@ PHP NEWS
- Zlib:
. Fixed use-after-free when an error handler removes a failing zlib.inflate
filter (GH-24176). (Edmond)
+ . Fixed bug GH-24533 (zlib.lib could not be found because zlib 1.3.2
+ CMake build does not emit it). (Lazizbek Ergashev)
22 Oct 2026, PHP 8.4.27
diff --git a/ext/curl/config.w32 b/ext/curl/config.w32
index 7d336b4fae9..c71f2a39812 100644
--- a/ext/curl/config.w32
+++ b/ext/curl/config.w32
@@ -19,8 +19,8 @@ if (PHP_CURL != "no") {
SETUP_OPENSSL("curl", PHP_CURL) > 0 &&
CHECK_LIB("winmm.lib", "curl", PHP_CURL) &&
CHECK_LIB("wldap32.lib", "curl", PHP_CURL) &&
- (((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib;zlib.lib", "curl", PHP_CURL))) ||
- (PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib", "curl", PHP_CURL)) || (PHP_ZLIB == "yes" && (!PHP_ZLIB_SHARED))) &&
+ (((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib;zlib.lib;zs.lib;z.lib", "curl", PHP_CURL))) ||
+ (PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib;zs.lib;z.lib", "curl", PHP_CURL)) || (PHP_ZLIB == "yes" && (!PHP_ZLIB_SHARED))) &&
!isNaN(ver_num) &&
(ver_num <= parseInt("0x073b00") || ver_num > parseInt("0x073b00") &&
CHECK_LIB("normaliz.lib", "curl", PHP_CURL) &&
diff --git a/ext/gd/config.w32 b/ext/gd/config.w32
index 939755bf539..8894b7f584f 100644
--- a/ext/gd/config.w32
+++ b/ext/gd/config.w32
@@ -16,8 +16,8 @@ if (PHP_GD != "no") {
CHECK_HEADER_ADD_INCLUDE("png.h", "CFLAGS_GD", PHP_GD + ";" + PHP_PHP_BUILD + "\\include\\libpng12")) &&
(CHECK_LIB("libiconv_a.lib;libiconv.lib", "gd", PHP_GD) || CHECK_LIB("iconv_a.lib;iconv.lib", "gd", PHP_GD)) &&
CHECK_HEADER_ADD_INCLUDE("iconv.h", "CFLAGS_GD", PHP_GD) &&
- (((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib;zlib.lib", "gd", PHP_GD) )) ||
- (PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib", "gd", PHP_GD)) || (PHP_ZLIB == "yes" && (!PHP_ZLIB_SHARED)))
+ (((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib;zlib.lib;zs.lib;z.lib", "gd", PHP_GD) )) ||
+ (PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib;zs.lib;z.lib", "gd", PHP_GD)) || (PHP_ZLIB == "yes" && (!PHP_ZLIB_SHARED)))
) {
if (CHECK_LIB("libXpm_a.lib", "gd", PHP_GD) &&
diff --git a/ext/mysqlnd/config.w32 b/ext/mysqlnd/config.w32
index e9ff75f237c..0c2be6daadb 100644
--- a/ext/mysqlnd/config.w32
+++ b/ext/mysqlnd/config.w32
@@ -28,8 +28,8 @@ if (PHP_MYSQLND != "no") {
"mysqlnd_wireprotocol.c " +
"php_mysqlnd.c ";
EXTENSION("mysqlnd", mysqlnd_source, false, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
- if ((((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib;zlib.lib", "mysqlnd", PHP_MYSQLND))) ||
- (PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib", "mysqlnd", PHP_MYSQLND)) ||
+ if ((((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib;zlib.lib;zs.lib;z.lib", "mysqlnd", PHP_MYSQLND))) ||
+ (PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib;zs.lib;z.lib", "mysqlnd", PHP_MYSQLND)) ||
(PHP_ZLIB == "yes" && (!PHP_ZLIB_SHARED))) &&
CHECK_HEADER_ADD_INCLUDE("zlib.h", "CFLAGS", "..\\zlib;" + php_usual_include_suspects)
)
diff --git a/ext/zip/config.w32 b/ext/zip/config.w32
index c0226f89764..6f0644baaf9 100644
--- a/ext/zip/config.w32
+++ b/ext/zip/config.w32
@@ -6,7 +6,7 @@ if (PHP_ZIP != "no") {
if (CHECK_HEADER_ADD_INCLUDE("zip.h", "CFLAGS_ZIP", PHP_PHP_BUILD + "\\include;" + PHP_EXTRA_INCLUDES) &&
CHECK_HEADER_ADD_INCLUDE("zipconf.h", "CFLAGS_ZIP", PHP_PHP_BUILD + "\\lib\\libzip\\include;" + PHP_EXTRA_LIBS + "\\libzip\\include;" + PHP_ZIP) &&
(PHP_ZIP_SHARED && CHECK_LIB("libzip.lib", "zip", PHP_ZIP) ||
- CHECK_LIB("libzip_a.lib", "zip", PHP_ZIP) && CHECK_LIB("libbz2_a.lib", "zip", PHP_ZIP) && CHECK_LIB("zlib_a.lib", "zip", PHP_ZIP) && CHECK_LIB("liblzma_a.lib", "zip", PHP_ZIP))
+ CHECK_LIB("libzip_a.lib", "zip", PHP_ZIP) && CHECK_LIB("libbz2_a.lib", "zip", PHP_ZIP) && CHECK_LIB("zlib_a.lib;zs.lib", "zip", PHP_ZIP) && CHECK_LIB("liblzma_a.lib", "zip", PHP_ZIP))
) {
EXTENSION('zip', 'php_zip.c zip_stream.c');
ADD_EXTENSION_DEP('zip', 'pcre');
diff --git a/ext/zlib/config.w32 b/ext/zlib/config.w32
index 3bc24d88e17..7a743818dcd 100644
--- a/ext/zlib/config.w32
+++ b/ext/zlib/config.w32
@@ -3,7 +3,7 @@
ARG_ENABLE("zlib", "ZLIB support", "yes");
if (PHP_ZLIB == "yes") {
- if (CHECK_LIB("zlib_a.lib;zlib.lib", "zlib", PHP_ZLIB) &&
+ if (CHECK_LIB("zlib_a.lib;zlib.lib;zs.lib;z.lib", "zlib", PHP_ZLIB) &&
CHECK_HEADER_ADD_INCLUDE("zlib.h", "CFLAGS", "..\\zlib;" + php_usual_include_suspects)) {
EXTENSION("zlib", "zlib.c zlib_fopen_wrapper.c zlib_filter.c", PHP_ZLIB_SHARED, "/D ZLIB_EXPORTS /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");