v phpredis 4.3.0 může close() uzavřít spojení vytvořené pconnect(). pokud po close() použijete metodu redis, automaticky se vytvoří nové trvalé připojení.
Voláte pconnect s časovým limitem? Za předpokladu, že se připojení uzavře pokaždé, když je překročen časový limit, můžete znovu vyřešit hlavní zařízení, než znovu zavoláte pconnect s jinou adresou.
Pokud provozujete cluster Redis, PHPRedis má režim clusteru s chováním při vypršení časového limitu, které je specifické pro toto nastavení s podporou odezvy „MOVED“:https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#timeout
Trvalé streamy jsou poskytovány interními prvky PHP, je nepsaným zákonem, že cokoli, co odhaluje způsob, jak vytvořit trvalý stream, by mělo také poskytovat způsob, jak jej zničit.
PHP Redis porušuje tento zákon, prostě neexistuje způsob, jak zničit ten trvalý stream z uživatelské země.
Postupem by mělo být PR a implementace požadované metody.
Zde je oprava proti větvi PHP7, která implementuje Redis::pclose:https://gist.github.com/krakjoe/326eadc61bea38fdd6e6
Všimněte si, že kód pro pdisconnect je založen na existujícím odpojení, obě tyto funkce mi připadají divné a nejsou upřímné ohledně jejich návratové hodnoty. Předpokládám, že někde existují nějaké testy nebo kód, který se spoléhá na tuto podivnost, takže jsem se to nepokoušel opravit.
Každý PR by měl zmínit, že tyto funkce vypadají divně a PHP7 je ideální čas na to, aby se věci rozloučily.