[Bug 272451] databases/pecl-redis: php8.1 PHP Fatal error: Arginfo / zpp mismatch during call of Redis::pconnect()

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 11 Jul 2023 13:20:53 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272451

            Bug ID: 272451
           Summary: databases/pecl-redis: php8.1 PHP Fatal error: Arginfo
                    / zpp mismatch during call of Redis::pconnect()
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
               URL: https://github.com/phpredis/phpredis/issues/2041
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: vvd@FreeBSD.org
                CC: daniel@blodan.se
             Flags: maintainer-feedback?(daniel@blodan.se)
                CC: daniel@blodan.se
 Attachment #243341 maintainer-approval?
             Flags:
             Flags: maintainer-feedback?, merge-quarterly?

Created attachment 243341
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=243341&action=edit
Workaround for "Arginfo / zpp mismatch during call of Redis::pconnect()"

PHP Fatal error:  Arginfo / zpp mismatch during call of Redis::pconnect() in
nextcloud/lib/private/RedisFactory.php on line 137

This line of the nextcloud/lib/private/RedisFactory.php:
$this->instance->pconnect($host, $port, $timeout, null, 0, $readTimeout);

Environment:
    FreeBSD 13.2-p1 amd64
    php 8.1.21
    php81-pecl-redis-5.3.7
    redis 7.0.12
    nextcloud 27.0.0.8

Details are at upstream issue: https://github.com/phpredis/phpredis/issues/2041
Bug was fixed in develop branch, but no release after this.

So workaround is to build with patch:
--- redis.c.orig        2022-02-15 18:25:22 UTC
+++ redis.c
@@ -154,6 +154,9 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_pconnect, 0, 0, 1)
     ZEND_ARG_INFO(0, host)
     ZEND_ARG_INFO(0, port)
     ZEND_ARG_INFO(0, timeout)
+    ZEND_ARG_INFO(0, persistent_id)
+    ZEND_ARG_INFO(0, retry_interval)
+    ZEND_ARG_INFO(0, read_timeout)
 ZEND_END_ARG_INFO()

 ZEND_BEGIN_ARG_INFO_EX(arginfo_mget, 0, 0, 1)

-- 
You are receiving this mail because:
You are the assignee for the bug.