Zend certified PHP/Magento developer

Magento 2 Redis Deprecated Functionality Causing Magento not to Start

Magento 2 is failing to start. The logs show this error:

Deprecated Functionality: implode(): Passing glue string after array is deprecated. Swap the parameters in vendor/colinmollenhour/credis/Client.php on line 1414

Also

Implode with historical parameter order: Passing parameters to implode() in reverse order is deprecated, use implode($glue, $parts) instead of implode($parts, $glue).

I have a standard Redis installation and this is part of it (although I did not install it directly):
https://github.com/colinmollenhour/Cm_RedisSession

There is no custom code in the site. Redis was installed in the usual way according to these Magento Dev Docs.

Here’s the code referenced by the error message:

   1406     /**
   1407      * Build the Redis unified protocol command
   1408      *
   1409      * @param array $args
   1410      * @return string
   1411      */
   1412     private static function _prepare_command($args)
   1413     {
   1414         return sprintf('*%d%s%s%s', count($args), CRLF, implode(array_map(array('self', '_map'), $args), CRLF), CRLF);
   1415     }

Has anyone run into this error yet? Is there a solution (other than disabling Redis)?

Version info:

  • Magento ver. 2.3.3
  • redis 5.0.7
  • redis-cli 5.0.7

EDIT: I opened an issue on GitHub.