From a1069e7e0bf1e80be5eb772cd6416a12024bf338 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 9 Nov 2022 13:39:06 +0100 Subject: test build for upcoming 2.6.0 refresh fix from PHP 8.2 from https://github.com/php/pecl-search_engine-solr/pull/39 --- PHPINFO | 4 +- REFLECTION | 41 ++++++++----- php-pecl-solr2.spec | 13 ++-- solr-build.patch | 172 ---------------------------------------------------- solr-php82.patch | 59 +++++++++++++----- 5 files changed, 79 insertions(+), 210 deletions(-) delete mode 100644 solr-build.patch diff --git a/PHPINFO b/PHPINFO index b7956c0..b9af9d9 100644 --- a/PHPINFO +++ b/PHPINFO @@ -2,6 +2,6 @@ solr Solr Support => enabled -Version => 2.5.1 -Last Build Date => Jul 23 2021 +Version => 2.6.0 +Last Build Date => Nov 9 2022 Last Build Time => 00:00:00 diff --git a/REFLECTION b/REFLECTION index f14d899..1682525 100644 --- a/REFLECTION +++ b/REFLECTION @@ -1,4 +1,4 @@ -Extension [ extension #120 solr version 2.5.1 ] { +Extension [ extension #122 solr version 2.6.0 ] { - Dependencies { Dependency [ libxml (Required) ] @@ -7,9 +7,9 @@ Extension [ extension #120 solr version 2.5.1 ] { - Constants [4] { Constant [ int SOLR_MAJOR_VERSION ] { 2 } - Constant [ int SOLR_MINOR_VERSION ] { 5 } - Constant [ int SOLR_PATCH_VERSION ] { 1 } - Constant [ string SOLR_EXTENSION_VERSION ] { 2.5.1 } + Constant [ int SOLR_MINOR_VERSION ] { 6 } + Constant [ int SOLR_PATCH_VERSION ] { 0 } + Constant [ string SOLR_EXTENSION_VERSION ] { 2.6.0 } } - Functions { @@ -54,6 +54,7 @@ Extension [ extension #120 solr version 2.5.1 ] { Parameter #0 [ $property_name ] Parameter #1 [ $property_value ] } + - Return [ void ] } Method [ public method offsetGet ] { @@ -68,6 +69,7 @@ Extension [ extension #120 solr version 2.5.1 ] { - Parameters [1] { Parameter #0 [ $property_name ] } + - Return [ bool ] } Method [ public method offsetUnset ] { @@ -75,6 +77,7 @@ Extension [ extension #120 solr version 2.5.1 ] { - Parameters [1] { Parameter #0 [ $property_name ] } + - Return [ void ] } Method [ public method getPropertyNames ] { @@ -160,6 +163,7 @@ Extension [ extension #120 solr version 2.5.1 ] { Parameter #0 [ $fieldName ] Parameter #1 [ $fieldValue ] } + - Return [ void ] } Method [ public method offsetGet ] { @@ -174,6 +178,7 @@ Extension [ extension #120 solr version 2.5.1 ] { - Parameters [1] { Parameter #0 [ $fieldName ] } + - Return [ bool ] } Method [ public method offsetUnset ] { @@ -181,6 +186,7 @@ Extension [ extension #120 solr version 2.5.1 ] { - Parameters [1] { Parameter #0 [ $fieldName ] } + - Return [ void ] } Method [ public method current ] { @@ -199,18 +205,21 @@ Extension [ extension #120 solr version 2.5.1 ] { - Parameters [0] { } + - Return [ void ] } Method [ public method rewind ] { - Parameters [0] { } + - Return [ void ] } Method [ public method valid ] { - Parameters [0] { } + - Return [ bool ] } Method [ public method serialize ] { @@ -4918,8 +4927,8 @@ Extension [ extension #120 solr version 2.5.1 ] { Property [ protected $code = 0 ] Property [ protected $file = NULL ] Property [ protected $line = NULL ] - Property [ protected $sourceline = 116 ] - Property [ protected $sourcefile = '/builddir/build...' ] + Property [ protected $sourceline = 118 ] + Property [ protected $sourcefile = '/dev/shm/BUILD/...' ] Property [ protected $zif_name = 'solr_exception_...' ] } @@ -5018,8 +5027,8 @@ Extension [ extension #120 solr version 2.5.1 ] { Property [ protected $code = 0 ] Property [ protected $file = NULL ] Property [ protected $line = NULL ] - Property [ protected $sourceline = 116 ] - Property [ protected $sourcefile = '/builddir/build...' ] + Property [ protected $sourceline = 118 ] + Property [ protected $sourcefile = '/dev/shm/BUILD/...' ] Property [ protected $zif_name = 'solr_exception_...' ] } @@ -5118,8 +5127,8 @@ Extension [ extension #120 solr version 2.5.1 ] { Property [ protected $code = 0 ] Property [ protected $file = NULL ] Property [ protected $line = NULL ] - Property [ protected $sourceline = 116 ] - Property [ protected $sourcefile = '/builddir/build...' ] + Property [ protected $sourceline = 118 ] + Property [ protected $sourcefile = '/dev/shm/BUILD/...' ] Property [ protected $zif_name = 'solr_exception_...' ] } @@ -5218,8 +5227,8 @@ Extension [ extension #120 solr version 2.5.1 ] { Property [ protected $code = 0 ] Property [ protected $file = NULL ] Property [ protected $line = NULL ] - Property [ protected $sourceline = 116 ] - Property [ protected $sourcefile = '/builddir/build...' ] + Property [ protected $sourceline = 118 ] + Property [ protected $sourcefile = '/dev/shm/BUILD/...' ] Property [ protected $zif_name = 'solr_exception_...' ] } @@ -5318,8 +5327,8 @@ Extension [ extension #120 solr version 2.5.1 ] { Property [ protected $code = 0 ] Property [ protected $file = NULL ] Property [ protected $line = NULL ] - Property [ protected $sourceline = 116 ] - Property [ protected $sourcefile = '/builddir/build...' ] + Property [ protected $sourceline = 118 ] + Property [ protected $sourcefile = '/dev/shm/BUILD/...' ] Property [ protected $zif_name = 'solr_exception_...' ] } @@ -5418,8 +5427,8 @@ Extension [ extension #120 solr version 2.5.1 ] { Property [ protected $code = 0 ] Property [ protected $file = NULL ] Property [ protected $line = NULL ] - Property [ protected $sourceline = 116 ] - Property [ protected $sourcefile = '/builddir/build...' ] + Property [ protected $sourceline = 118 ] + Property [ protected $sourcefile = '/dev/shm/BUILD/...' ] Property [ protected $zif_name = 'solr_exception_...' ] } diff --git a/php-pecl-solr2.spec b/php-pecl-solr2.spec index 3b094e1..b05fc3f 100644 --- a/php-pecl-solr2.spec +++ b/php-pecl-solr2.spec @@ -28,17 +28,14 @@ Summary: Object oriented API to Apache Solr Summary(fr): API orientée objet pour Apache Solr Name: %{?scl_prefix}php-pecl-solr2 -Version: 2.5.1 -Release: 5%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Version: 2.6.0 +Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} License: PHP Group: Development/Languages URL: https://pecl.php.net/package/solr Source0: https://pecl.php.net/get/%{pecl_name}-%{version}%{?prever}.tgz -# compat with 8.1 from upstream -# compat with older from https://github.com/php/pecl-search_engine-solr/pull/32 -Patch0: %{pecl_name}-build.patch # for PHP 8.2 from https://github.com/php/pecl-search_engine-solr/pull/39 Patch1: %{pecl_name}-php82.patch @@ -103,7 +100,6 @@ sed -e 's/role="test"/role="src"/' \ mv %{pecl_name}-%{version}%{?prever} NTS cd NTS -%patch0 -p1 -b .up %patch1 -p1 -b .pr : Check version @@ -248,6 +244,11 @@ TEST_PHP_EXECUTABLE=%{__ztsphp} \ %changelog +* Wed Nov 9 2022 Remi Collet - 2.6.0-0 +- test build for upcoming 2.6.0 +- refresh fix from PHP 8.2 from + https://github.com/php/pecl-search_engine-solr/pull/39 + * Fri Sep 9 2022 Remi Collet - 2.5.1-5 - add fix from PHP 8.2 from https://github.com/php/pecl-search_engine-solr/pull/39 diff --git a/solr-build.patch b/solr-build.patch deleted file mode 100644 index 80cc10c..0000000 --- a/solr-build.patch +++ /dev/null @@ -1,172 +0,0 @@ -From c656212bad2db9217fdcd014002ea723f3eaa6e8 Mon Sep 17 00:00:00 2001 -From: alexgit2k -Date: Fri, 11 Mar 2022 12:23:40 +0100 -Subject: [PATCH] Set return-type for some functions - ---- - src/php7/php_solr.c | 61 ++++++++++++++++++++++++++++++++++----------- - 1 file changed, 47 insertions(+), 14 deletions(-) - -diff --git a/src/php7/php_solr.c b/src/php7/php_solr.c -index 4d7fec3..39018e5 100644 ---- a/src/php7/php_solr.c -+++ b/src/php7/php_solr.c -@@ -99,16 +99,20 @@ static void php_solr_globals_ctor(zend_solr_globals *solr_globals_arg) - - /* {{{ arg_info vectors for functions and methods */ - --ZEND_BEGIN_ARG_INFO_EX(SolrObject__get_args, SOLR_ARG_PASS_REMAINING_BY_REF_FALSE, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1) -+ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(SolrObject__get_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, IS_MIXED, 0) - ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_name) - ZEND_END_ARG_INFO() - --ZEND_BEGIN_ARG_INFO_EX(SolrObject__set_args, SOLR_ARG_PASS_REMAINING_BY_REF_FALSE, SOLR_METHOD_RETURN_REFERENCE_FALSE, 2) -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrObject__set_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 2, IS_VOID, 0) - ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_name) - ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_value) - ZEND_END_ARG_INFO() - --ZEND_BEGIN_ARG_INFO_EX(SolrObject_one_args, SOLR_ARG_PASS_REMAINING_BY_REF_FALSE, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1) -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrObject_offsetExists_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, _IS_BOOL, 0) -+ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_name) -+ZEND_END_ARG_INFO() -+ -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrObject_offsetUnset_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, IS_VOID, 0) - ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_name) - ZEND_END_ARG_INFO() - -@@ -143,7 +147,19 @@ ZEND_ARG_OBJ_INFO(SOLR_ARG_PASS_BY_REF_TRUE, sourceDoc, SolrDocument, SOLR_ARG_A - ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, overwrite) - ZEND_END_ARG_INFO() - --ZEND_BEGIN_ARG_INFO_EX(SolrDocument_current_args, SOLR_ARG_PASS_REMAINING_BY_REF_FALSE, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0) -+ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(SolrDocument_current_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0, IS_MIXED, 0) -+ZEND_END_ARG_INFO() -+ -+ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(SolrDocument_key_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0, IS_MIXED, 0) -+ZEND_END_ARG_INFO() -+ -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_next_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0, IS_VOID, 0) -+ZEND_END_ARG_INFO() -+ -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_valid_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0, _IS_BOOL, 0) -+ZEND_END_ARG_INFO() -+ -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_rewind_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0, IS_VOID, 0) - ZEND_END_ARG_INFO() - - ZEND_BEGIN_ARG_INFO_EX(SolrDocument_getInputDocument_args, SOLR_ARG_PASS_REMAINING_BY_REF_FALSE, SOLR_METHOD_RETURN_REFERENCE_FALSE, 0) -@@ -152,6 +168,23 @@ ZEND_END_ARG_INFO() - ZEND_BEGIN_ARG_INFO(SolrDocument_unserialize_args, 0) - ZEND_ARG_INFO(0, serialized) - ZEND_END_ARG_INFO() -+ -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_offsetSet_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 2, IS_VOID, 0) -+ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, fieldName) -+ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, fieldValue) -+ZEND_END_ARG_INFO() -+ -+ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(SolrDocument_offsetGet_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, IS_MIXED, 0) -+ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, fieldName) -+ZEND_END_ARG_INFO() -+ -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_offsetExists_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, _IS_BOOL, 0) -+ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, fieldName) -+ZEND_END_ARG_INFO() -+ -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(SolrDocument_offsetUnset_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, IS_VOID, 0) -+ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, fieldName) -+ZEND_END_ARG_INFO() - /* }}} */ - - /* {{{ SolrInputDocument arguments */ -@@ -524,8 +557,8 @@ static zend_function_entry solr_object_methods[] = { - */ - PHP_ME(SolrObject, offsetSet, SolrObject__set_args, ZEND_ACC_PUBLIC) - PHP_ME(SolrObject, offsetGet, SolrObject__get_args, ZEND_ACC_PUBLIC) -- PHP_ME(SolrObject, offsetExists, SolrObject_one_args, ZEND_ACC_PUBLIC) -- PHP_ME(SolrObject, offsetUnset, SolrObject_one_args, ZEND_ACC_PUBLIC) -+ PHP_ME(SolrObject, offsetExists, SolrObject_offsetExists_args, ZEND_ACC_PUBLIC) -+ PHP_ME(SolrObject, offsetUnset, SolrObject_offsetUnset_args, ZEND_ACC_PUBLIC) - PHP_ME(SolrObject, getPropertyNames, Solr_no_args, ZEND_ACC_PUBLIC) - - PHP_FE_END -@@ -582,16 +615,16 @@ static zend_function_entry solr_document_methods[] = { - PHP_ME(SolrDocument, __isset, SolrDocument_fieldExists_args, ZEND_ACC_PUBLIC) - PHP_ME(SolrDocument, __unset, SolrDocument_deleteField_args, ZEND_ACC_PUBLIC) - -- PHP_ME(SolrDocument, offsetSet, SolrDocument_addField_args, ZEND_ACC_PUBLIC) -- PHP_ME(SolrDocument, offsetGet, SolrDocument_getField_args, ZEND_ACC_PUBLIC) -- PHP_ME(SolrDocument, offsetExists, SolrDocument_fieldExists_args, ZEND_ACC_PUBLIC) -- PHP_ME(SolrDocument, offsetUnset, SolrDocument_deleteField_args, ZEND_ACC_PUBLIC) -+ PHP_ME(SolrDocument, offsetSet, SolrDocument_offsetSet_args, ZEND_ACC_PUBLIC) -+ PHP_ME(SolrDocument, offsetGet, SolrDocument_offsetGet_args, ZEND_ACC_PUBLIC) -+ PHP_ME(SolrDocument, offsetExists, SolrDocument_offsetExists_args, ZEND_ACC_PUBLIC) -+ PHP_ME(SolrDocument, offsetUnset, SolrDocument_offsetUnset_args, ZEND_ACC_PUBLIC) - - PHP_ME(SolrDocument, current, SolrDocument_current_args, ZEND_ACC_PUBLIC) -- PHP_ME(SolrDocument, key, Solr_no_args, ZEND_ACC_PUBLIC) -- PHP_ME(SolrDocument, next, Solr_no_args, ZEND_ACC_PUBLIC) -- PHP_ME(SolrDocument, rewind, Solr_no_args, ZEND_ACC_PUBLIC) -- PHP_ME(SolrDocument, valid, Solr_no_args, ZEND_ACC_PUBLIC) -+ PHP_ME(SolrDocument, key, SolrDocument_key_args, ZEND_ACC_PUBLIC) -+ PHP_ME(SolrDocument, next, SolrDocument_next_args, ZEND_ACC_PUBLIC) -+ PHP_ME(SolrDocument, rewind, SolrDocument_rewind_args, ZEND_ACC_PUBLIC) -+ PHP_ME(SolrDocument, valid, SolrDocument_valid_args, ZEND_ACC_PUBLIC) - - PHP_ME(SolrDocument, serialize, Solr_no_args, ZEND_ACC_PUBLIC) - PHP_ME(SolrDocument, unserialize, SolrDocument_unserialize_args, ZEND_ACC_PUBLIC) -From 3d1d2c98d4a3f7638a976afc3dd6b85b2d1d4fef Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Thu, 17 Mar 2022 11:38:47 +0100 -Subject: [PATCH] fix build with older PHP - ---- - src/php7/php_solr.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/src/php7/php_solr.c b/src/php7/php_solr.c -index 26583b2..2110296 100644 ---- a/src/php7/php_solr.c -+++ b/src/php7/php_solr.c -@@ -98,6 +98,17 @@ static void php_solr_globals_ctor(zend_solr_globals *solr_globals_arg) - /******************************************************************************/ - - /* {{{ arg_info vectors for functions and methods */ -+#if PHP_VERSION_ID < 70200 -+#undef ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX -+#define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, class_name, allow_null) \ -+ static const zend_internal_arg_info name[] = { \ -+ { (const char*)(zend_uintptr_t)(required_num_args), ( #class_name ), 0, return_reference, allow_null, 0 }, -+#endif -+ -+#ifndef ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX -+#define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \ -+ ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args) -+#endif - - ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(SolrObject__get_args, SOLR_METHOD_RETURN_REFERENCE_FALSE, 1, IS_MIXED, 0) - ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, property_name) -From 359a8aebd9382f99f07fcc6d36cc063bee01727d Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Thu, 17 Mar 2022 11:48:14 +0100 -Subject: [PATCH] relax test - ---- - tests/bug_61836_error.phpt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/bug_61836_error.phpt b/tests/bug_61836_error.phpt -index 9dfd94d..2ffff33 100644 ---- a/tests/bug_61836_error.phpt -+++ b/tests/bug_61836_error.phpt -@@ -18,4 +18,4 @@ $doc = new Model_SolrDocument(); - //$doc->addField('testname', true); - ?> - --EXPECTF-- --Fatal error: Class Model_SolrDocument may not inherit from final class (SolrDocument) in %s on line %d -\ No newline at end of file -+Fatal error: Class Model_SolrDocument %s final class %s --- -2.35.1 - diff --git a/solr-php82.patch b/solr-php82.patch index 60e2871..67c89da 100644 --- a/solr-php82.patch +++ b/solr-php82.patch @@ -1,8 +1,17 @@ +From e90b33b4c5d3b94da4f12923242f943aa5558d4c Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Fri, 9 Sep 2022 15:37:33 +0200 +Subject: [PATCH 1/2] fix __toString method for 8.2 + +--- + src/php7/php_solr.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + diff --git a/src/php7/php_solr.c b/src/php7/php_solr.c -index 2110296..eb9dd22 100644 +index de69bc8..d06a9cc 100644 --- a/src/php7/php_solr.c +++ b/src/php7/php_solr.c -@@ -542,6 +542,13 @@ ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, mime_type) +@@ -554,6 +554,13 @@ ZEND_ARG_INFO(SOLR_ARG_PASS_BY_REF_FALSE, mime_type) ZEND_ARG_OBJ_INFO(SOLR_ARG_PASS_BY_REF_TRUE, params, SolrModifiableParams, SOLR_ARG_ALLOW_NULL_FALSE) ZEND_END_ARG_INFO() @@ -16,7 +25,7 @@ index 2110296..eb9dd22 100644 /* }}} */ -@@ -607,7 +614,7 @@ static zend_function_entry solr_collapse_function_methods[] = { +@@ -619,7 +626,7 @@ static zend_function_entry solr_collapse_function_methods[] = { PHP_ME(SolrCollapseFunction, setNullPolicy, SolrCollapseFunction_set_null_policy_args, ZEND_ACC_PUBLIC) PHP_ME(SolrCollapseFunction, getNullPolicy, Solr_no_args, ZEND_ACC_PUBLIC) @@ -25,7 +34,7 @@ index 2110296..eb9dd22 100644 PHP_ME(SolrCollapseFunction, __sleep, Solr_no_args, ZEND_ACC_PUBLIC) PHP_ME(SolrCollapseFunction, __wakeup, Solr_no_args, ZEND_ACC_PUBLIC) -@@ -772,7 +779,7 @@ static zend_function_entry solr_illegal_argument_exception_methods[] = { +@@ -788,7 +795,7 @@ static zend_function_entry solr_illegal_argument_exception_methods[] = { static zend_function_entry solr_params_methods[] = { PHP_ME(SolrParams, setParam, SolrParams_setParam_args, ZEND_ACC_PUBLIC) PHP_ME(SolrParams, addParam, SolrParams_addParam_args, ZEND_ACC_PUBLIC) @@ -34,15 +43,37 @@ index 2110296..eb9dd22 100644 PHP_ME(SolrParams, toString, SolrParams_toString_args, ZEND_ACC_PUBLIC) PHP_ME(SolrParams, getParams, Solr_no_args, ZEND_ACC_PUBLIC) PHP_ME(SolrParams, getParam, SolrParams_getParam_args, ZEND_ACC_PUBLIC) -diff --git a/tests/test.config.inc b/tests/test.config.inc -index 1d61156..1475d76 100644 ---- a/tests/test.config.inc -+++ b/tests/test.config.inc -@@ -1,6 +1,6 @@ - +Date: Wed, 9 Nov 2022 13:32:41 +0100 +Subject: [PATCH 2/2] allow dynamic properties + +--- + src/php7/php_solr.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/php7/php_solr.c b/src/php7/php_solr.c +index d06a9cc..8062090 100644 +--- a/src/php7/php_solr.c ++++ b/src/php7/php_solr.c +@@ -1207,6 +1207,9 @@ PHP_MINIT_FUNCTION(solr) + INIT_CLASS_ENTRY(ce, PHP_SOLR_OBJECT_CLASSNAME, solr_object_methods); + solr_ce_SolrObject = zend_register_internal_class(&ce); + solr_ce_SolrObject->ce_flags |= ZEND_ACC_FINAL; ++#if PHP_VERSION_ID >= 80200 ++ solr_ce_SolrObject->ce_flags |= ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES; ++#endif - define('ROOT_DIRECTORY', dirname(__FILE__)); + /* SolrObject implements ArrayAccess */ + zend_class_implements(solr_ce_SolrObject, 1, solr_ce_ArrayAccess); +@@ -1239,6 +1242,9 @@ PHP_MINIT_FUNCTION(solr) + INIT_CLASS_ENTRY(ce, PHP_SOLR_INPUT_DOCUMENT_CLASSNAME, solr_input_document_methods); + solr_ce_SolrInputDocument = zend_register_internal_class(&ce); + solr_ce_SolrInputDocument->ce_flags |= ZEND_ACC_FINAL; ++#if PHP_VERSION_ID >= 80200 ++ solr_ce_SolrInputDocument->ce_flags |= ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES; ++#endif + /* This internal property will be used to map to this SolrDocument instance */ + zend_declare_property_long(solr_ce_SolrInputDocument, SOLR_INDEX_PROPERTY_NAME, sizeof(SOLR_INDEX_PROPERTY_NAME) -1, 0L, ZEND_ACC_PRIVATE); -- cgit