summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2023-06-26 17:48:10 +0200
committerRemi Collet <remi@php.net>2023-06-26 17:48:10 +0200
commit40b6a5cc27cfc2f5435e90d4fb216a924be5f5e3 (patch)
tree6e0707f24d458cc4f9eb6600b986ec2bc0887b9d
parent4595cdb58c052bb8b73d4e58401c28c16d751b22 (diff)
update to 1.22.0
-rw-r--r--PHPINFO4
-rw-r--r--REFLECTION88
-rw-r--r--php-pecl-zip.spec11
-rw-r--r--zip-php83.patch154
4 files changed, 85 insertions, 172 deletions
diff --git a/PHPINFO b/PHPINFO
index 492c809..0db62da 100644
--- a/PHPINFO
+++ b/PHPINFO
@@ -2,8 +2,8 @@
zip
Zip => enabled
-Zip version => 1.21.1
-Libzip version => 1.9.2
+Zip version => 1.22.0
+Libzip version => 1.10.0
BZIP2 compression => Yes
XZ compression => Yes
ZSTD compression => Yes
diff --git a/REFLECTION b/REFLECTION
index 9b1f3db..6b7f4df 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -1,4 +1,4 @@
-Extension [ <persistent> extension #66 zip version 1.21.1 ] {
+Extension [ <persistent> extension #66 zip version 1.22.0 ] {
- Functions {
Function [ <internal, deprecated:zip> function zip_open ] {
@@ -77,7 +77,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
- Classes [1] {
Class [ <internal:zip> class ZipArchive implements Countable ] {
- - Constants [100] {
+ - Constants [106] {
Constant [ public int CREATE ] { 1 }
Constant [ public int EXCL ] { 2 }
Constant [ public int CHECKCONS ] { 4 }
@@ -150,6 +150,12 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Constant [ public int ER_TELL ] { 30 }
Constant [ public int ER_COMPRESSED_DATA ] { 31 }
Constant [ public int ER_CANCELLED ] { 32 }
+ Constant [ public int ER_DATA_LENGTH ] { 33 }
+ Constant [ public int ER_NOT_ALLOWED ] { 34 }
+ Constant [ public int AFL_RDONLY ] { 2 }
+ Constant [ public int AFL_IS_TORRENTZIP ] { 4 }
+ Constant [ public int AFL_WANT_TORRENTZIP ] { 8 }
+ Constant [ public int AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE ] { 16 }
Constant [ public int OPSYS_DOS ] { 0 }
Constant [ public int OPSYS_AMIGA ] { 1 }
Constant [ public int OPSYS_OPENVMS ] { 2 }
@@ -177,7 +183,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Constant [ public int EM_AES_192 ] { 258 }
Constant [ public int EM_AES_256 ] { 259 }
Constant [ public int EM_UNKNOWN ] { 65535 }
- Constant [ public string LIBZIP_VERSION ] { 1.9.2 }
+ Constant [ public string LIBZIP_VERSION ] { 1.10.0 }
}
- Static properties [0] {
@@ -204,21 +210,22 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
}
- Properties [6] {
- Property [ public $lastId = NULL ]
- Property [ public $status = NULL ]
- Property [ public $statusSys = NULL ]
- Property [ public $numFiles = NULL ]
- Property [ public $filename = NULL ]
- Property [ public $comment = NULL ]
+ Property [ public int $lastId ]
+ Property [ public int $status ]
+ Property [ public int $statusSys ]
+ Property [ public int $numFiles ]
+ Property [ public string $filename ]
+ Property [ public string $comment ]
}
- - Methods [48] {
+ - Methods [50] {
Method [ <internal:zip> public method open ] {
- Parameters [2] {
Parameter #0 [ <required> string $filename ]
Parameter #1 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ int|bool ]
}
Method [ <internal:zip> public method setPassword ] {
@@ -226,24 +233,28 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
- Parameters [1] {
Parameter #0 [ <required> string $password ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method close ] {
- Parameters [0] {
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip, prototype Countable> public method count ] {
- Parameters [0] {
}
+ - Tentative return [ int ]
}
Method [ <internal:zip> public method getStatusString ] {
- Parameters [0] {
}
+ - Tentative return [ string ]
}
Method [ <internal:zip> public method clearError ] {
@@ -259,6 +270,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> string $dirname ]
Parameter #1 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method addFromString ] {
@@ -268,6 +280,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #1 [ <required> string $content ]
Parameter #2 [ <optional> int $flags = ZipArchive::FL_OVERWRITE ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method addFile ] {
@@ -279,6 +292,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #3 [ <optional> int $length = 0 ]
Parameter #4 [ <optional> int $flags = ZipArchive::FL_OVERWRITE ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method replaceFile ] {
@@ -290,6 +304,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #3 [ <optional> int $length = 0 ]
Parameter #4 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method addGlob ] {
@@ -299,6 +314,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #1 [ <optional> int $flags = 0 ]
Parameter #2 [ <optional> array $options = [] ]
}
+ - Tentative return [ array|false ]
}
Method [ <internal:zip> public method addPattern ] {
@@ -308,6 +324,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #1 [ <optional> string $path = "." ]
Parameter #2 [ <optional> array $options = [] ]
}
+ - Tentative return [ array|false ]
}
Method [ <internal:zip> public method renameIndex ] {
@@ -316,6 +333,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> int $index ]
Parameter #1 [ <required> string $new_name ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method renameName ] {
@@ -324,6 +342,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> string $name ]
Parameter #1 [ <required> string $new_name ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method setArchiveComment ] {
@@ -331,6 +350,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
- Parameters [1] {
Parameter #0 [ <required> string $comment ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method getArchiveComment ] {
@@ -338,6 +358,25 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
- Parameters [1] {
Parameter #0 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ string|false ]
+ }
+
+ Method [ <internal:zip> public method setArchiveFlag ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> int $flag ]
+ Parameter #1 [ <required> int $value ]
+ }
+ - Return [ bool ]
+ }
+
+ Method [ <internal:zip> public method getArchiveFlag ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> int $flag ]
+ Parameter #1 [ <optional> int $flags = 0 ]
+ }
+ - Return [ int ]
}
Method [ <internal:zip> public method setCommentIndex ] {
@@ -346,6 +385,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> int $index ]
Parameter #1 [ <required> string $comment ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method setCommentName ] {
@@ -354,6 +394,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> string $name ]
Parameter #1 [ <required> string $comment ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method setMtimeIndex ] {
@@ -363,6 +404,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #1 [ <required> int $timestamp ]
Parameter #2 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method setMtimeName ] {
@@ -372,6 +414,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #1 [ <required> int $timestamp ]
Parameter #2 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method getCommentIndex ] {
@@ -380,6 +423,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> int $index ]
Parameter #1 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ string|false ]
}
Method [ <internal:zip> public method getCommentName ] {
@@ -388,6 +432,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> string $name ]
Parameter #1 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ string|false ]
}
Method [ <internal:zip> public method deleteIndex ] {
@@ -395,6 +440,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
- Parameters [1] {
Parameter #0 [ <required> int $index ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method deleteName ] {
@@ -402,6 +448,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
- Parameters [1] {
Parameter #0 [ <required> string $name ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method statName ] {
@@ -410,6 +457,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> string $name ]
Parameter #1 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ array|false ]
}
Method [ <internal:zip> public method statIndex ] {
@@ -418,6 +466,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> int $index ]
Parameter #1 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ array|false ]
}
Method [ <internal:zip> public method locateName ] {
@@ -426,6 +475,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> string $name ]
Parameter #1 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ int|false ]
}
Method [ <internal:zip> public method getNameIndex ] {
@@ -434,18 +484,21 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> int $index ]
Parameter #1 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ string|false ]
}
Method [ <internal:zip> public method unchangeArchive ] {
- Parameters [0] {
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method unchangeAll ] {
- Parameters [0] {
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method unchangeIndex ] {
@@ -453,6 +506,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
- Parameters [1] {
Parameter #0 [ <required> int $index ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method unchangeName ] {
@@ -460,6 +514,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
- Parameters [1] {
Parameter #0 [ <required> string $name ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method extractTo ] {
@@ -468,6 +523,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> string $pathto ]
Parameter #1 [ <optional> array|string|null $files = null ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method getFromName ] {
@@ -477,6 +533,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #1 [ <optional> int $len = 0 ]
Parameter #2 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ string|false ]
}
Method [ <internal:zip> public method getFromIndex ] {
@@ -486,6 +543,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #1 [ <optional> int $len = 0 ]
Parameter #2 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ string|false ]
}
Method [ <internal:zip> public method getStreamIndex ] {
@@ -519,6 +577,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #2 [ <required> int $attr ]
Parameter #3 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method setExternalAttributesIndex ] {
@@ -529,6 +588,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #2 [ <required> int $attr ]
Parameter #3 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method getExternalAttributesName ] {
@@ -539,6 +599,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #2 [ <required> &$attr ]
Parameter #3 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method getExternalAttributesIndex ] {
@@ -549,6 +610,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #2 [ <required> &$attr ]
Parameter #3 [ <optional> int $flags = 0 ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method setCompressionName ] {
@@ -558,6 +620,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #1 [ <required> int $method ]
Parameter #2 [ <optional> int $compflags = 0 ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method setCompressionIndex ] {
@@ -567,6 +630,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #1 [ <required> int $method ]
Parameter #2 [ <optional> int $compflags = 0 ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method setEncryptionName ] {
@@ -576,6 +640,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #1 [ <required> int $method ]
Parameter #2 [ <optional> ?string $password = null ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method setEncryptionIndex ] {
@@ -585,6 +650,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #1 [ <required> int $method ]
Parameter #2 [ <optional> ?string $password = null ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method registerProgressCallback ] {
@@ -593,6 +659,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
Parameter #0 [ <required> float $rate ]
Parameter #1 [ <required> callable $callback ]
}
+ - Tentative return [ bool ]
}
Method [ <internal:zip> public method registerCancelCallback ] {
@@ -600,6 +667,7 @@ Extension [ <persistent> extension #66 zip version 1.21.1 ] {
- Parameters [1] {
Parameter #0 [ <required> callable $callback ]
}
+ - Tentative return [ bool ]
}
}
}
diff --git a/php-pecl-zip.spec b/php-pecl-zip.spec
index 9fa3e6f..a9f6e5c 100644
--- a/php-pecl-zip.spec
+++ b/php-pecl-zip.spec
@@ -26,7 +26,7 @@
%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}}
%global pecl_name zip
-%global upstream_version 1.21.1
+%global upstream_version 1.22.0
#global upstream_prever dev
#global upstream_lower DEV
@@ -42,15 +42,13 @@
Summary: A ZIP archive management extension
Name: %{?scl_prefix}php-pecl-zip
Version: %{upstream_version}%{?upstream_prever:~%{upstream_lower}}
-Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
License: PHP-3.01
Group: Development/Languages
URL: https://pecl.php.net/package/zip
Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz
-Patch0: %{pecl_name}-php83.patch
-
BuildRequires: make
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel
@@ -140,8 +138,6 @@ sed -e 's/role="test"/role="src"/' \
-i package.xml
cd NTS
-%patch -P0 -p1
-
# Sanity check, really often broken
extver=$(sed -n '/#define PHP_ZIP_VERSION/{s/.* "//;s/".*$//;p}' php7/php_zip.h)
if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}" -a "x${extver}" != "x%{upstream_version}-%{?upstream_prever}"; then
@@ -283,6 +279,9 @@ fi
%changelog
+* Mon Jun 26 2023 Remi Collet <remi@remirepo.net> - 1.22.0-1
+- update to 1.22.0
+
* Mon Jun 5 2023 Remi Collet <remi@remirepo.net> - 1.21.1-2
- add upstream patches for 8.3
diff --git a/zip-php83.patch b/zip-php83.patch
deleted file mode 100644
index 238d6a1..0000000
--- a/zip-php83.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-From 85624b566aa4f3c9d0e676fbc6127795e1f77f24 Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@remirepo.net>
-Date: Tue, 30 May 2023 17:00:32 +0200
-Subject: [PATCH] sync changes from 8.3
-
----
- php81/php_zip.c | 25 +++++++++++++++++--------
- php81/php_zip.stub.php | 23 ++++++++++++++++++++++-
- php81/php_zip_arginfo.h | 16 ++++++++++------
- 3 files changed, 49 insertions(+), 15 deletions(-)
-
-diff --git a/php81/php_zip.c b/php81/php_zip.c
-index 1d7c7e9..4ba1319 100644
---- a/php81/php_zip.c
-+++ b/php81/php_zip.c
-@@ -39,6 +39,10 @@
- #endif
- #endif
-
-+#if PHP_VERSION_ID < 80300
-+#define zend_zval_value_name(opt) zend_zval_type_name(opt)
-+#endif
-+
- /* {{{ Resource le */
- static int le_zip_dir;
- #define le_zip_dir_name "Zip Directory"
-@@ -354,7 +358,7 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts)
- if ((option = zend_hash_str_find(options, "remove_all_path", sizeof("remove_all_path") - 1)) != NULL) {
- if (Z_TYPE_P(option) != IS_FALSE && Z_TYPE_P(option) != IS_TRUE) {
- php_error_docref(NULL, E_WARNING, "Option \"remove_all_path\" must be of type bool, %s given",
-- zend_zval_type_name(option));
-+ zend_zval_value_name(option));
- }
- opts->remove_all_path = zval_get_long(option);
- }
-@@ -362,14 +366,14 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts)
- if ((option = zend_hash_str_find(options, "comp_method", sizeof("comp_method") - 1)) != NULL) {
- if (Z_TYPE_P(option) != IS_LONG) {
- php_error_docref(NULL, E_WARNING, "Option \"comp_method\" must be of type int, %s given",
-- zend_zval_type_name(option));
-+ zend_zval_value_name(option));
- }
- opts->comp_method = zval_get_long(option);
-
- if ((option = zend_hash_str_find(options, "comp_flags", sizeof("comp_flags") - 1)) != NULL) {
- if (Z_TYPE_P(option) != IS_LONG) {
- php_error_docref(NULL, E_WARNING, "Option \"comp_flags\" must be of type int, %s given",
-- zend_zval_type_name(option));
-+ zend_zval_value_name(option));
- }
- opts->comp_flags = zval_get_long(option);
- }
-@@ -379,14 +383,14 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts)
- if ((option = zend_hash_str_find(options, "enc_method", sizeof("enc_method") - 1)) != NULL) {
- if (Z_TYPE_P(option) != IS_LONG) {
- php_error_docref(NULL, E_WARNING, "Option \"enc_method\" must be of type int, %s given",
-- zend_zval_type_name(option));
-+ zend_zval_value_name(option));
- }
- opts->enc_method = zval_get_long(option);
-
- if ((option = zend_hash_str_find(options, "enc_password", sizeof("enc_password") - 1)) != NULL) {
- if (Z_TYPE_P(option) != IS_STRING) {
- zend_type_error("Option \"enc_password\" must be of type string, %s given",
-- zend_zval_type_name(option));
-+ zend_zval_value_name(option));
- return -1;
- }
- opts->enc_password = Z_STRVAL_P(option);
-@@ -397,7 +401,7 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts)
- if ((option = zend_hash_str_find(options, "remove_path", sizeof("remove_path") - 1)) != NULL) {
- if (Z_TYPE_P(option) != IS_STRING) {
- zend_type_error("Option \"remove_path\" must be of type string, %s given",
-- zend_zval_type_name(option));
-+ zend_zval_value_name(option));
- return -1;
- }
-
-@@ -417,7 +421,7 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts)
- if ((option = zend_hash_str_find(options, "add_path", sizeof("add_path") - 1)) != NULL) {
- if (Z_TYPE_P(option) != IS_STRING) {
- zend_type_error("Option \"add_path\" must be of type string, %s given",
-- zend_zval_type_name(option));
-+ zend_zval_value_name(option));
- return -1;
- }
-
-@@ -437,7 +441,7 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts)
- if ((option = zend_hash_str_find(options, "flags", sizeof("flags") - 1)) != NULL) {
- if (Z_TYPE_P(option) != IS_LONG) {
- zend_type_error("Option \"flags\" must be of type int, %s given",
-- zend_zval_type_name(option));
-+ zend_zval_value_name(option));
- return -1;
- }
- opts->flags = Z_LVAL_P(option);
-@@ -1079,7 +1083,9 @@ static zend_object *php_zip_object_new(zend_class_entry *class_type) /* {{{ */
- intern->prop_handler = &zip_prop_handlers;
- zend_object_std_init(&intern->zo, class_type);
- object_properties_init(&intern->zo, class_type);
-+#if PHP_VERSION_ID < 80300
- intern->zo.handlers = &zip_object_handlers;
-+#endif
- intern->last_id = -1;
-
- return &intern->zo;
-@@ -3105,6 +3111,9 @@ static PHP_MINIT_FUNCTION(zip)
-
- zip_class_entry = register_class_ZipArchive(zend_ce_countable);
- zip_class_entry->create_object = php_zip_object_new;
-+#if PHP_VERSION_ID >= 80300
-+ zip_class_entry->default_object_handlers = &zip_object_handlers;
-+#endif
-
- zend_hash_init(&zip_prop_handlers, 0, NULL, php_zip_free_prop_handler, 1);
- php_zip_register_prop_handler(&zip_prop_handlers, "lastId", php_zip_last_id, NULL, IS_LONG);
-From c26e4215686294971a13896e3da06312f4a18037 Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@remirepo.net>
-Date: Mon, 5 Jun 2023 16:31:35 +0200
-Subject: [PATCH] allow 8.3
-
----
- config.m4 | 4 ++--
- config.w32 | 2 ++
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/config.m4 b/config.m4
-index 390108b..5d77eeb 100644
---- a/config.m4
-+++ b/config.m4
-@@ -27,8 +27,8 @@ if test "$PHP_ZIP" != "no"; then
- elif test $PHP_VERSION -lt 80100; then
- AC_MSG_RESULT(8.0)
- subdir=php8
-- elif test $PHP_VERSION -lt 80300; then
-- AC_MSG_RESULT(8.1/8.2)
-+ elif test $PHP_VERSION -lt 80400; then
-+ AC_MSG_RESULT(8.1/8.2/8.3)
- subdir=php81
- else
- AC_MSG_ERROR(PHP version $PHP_VERSION is not supported yet)
-diff --git a/config.w32 b/config.w32
-index 1d1c3e0..da42ba3 100644
---- a/config.w32
-+++ b/config.w32
-@@ -32,6 +32,8 @@ if (PHP_ZIP != "no") {
- configure_module_dirname = configure_module_dirname + "\\php81";
- } else if (PHP_VERSION == 8 && PHP_MINOR_VERSION == 2) {
- configure_module_dirname = configure_module_dirname + "\\php81";
-+ } else if (PHP_VERSION == 8 && PHP_MINOR_VERSION == 3) {
-+ configure_module_dirname = configure_module_dirname + "\\php81";
- } else {
- ERROR("PHP " + PHP_VERSION + "." + PHP_MINOR_VERSION + " not supported");
- }