OpenCart : PHP 8

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 3.50 out of 5)

Backward Incompatible Changes:

  • It’s very rare, but in some old extensions or packages, the array and string offset access syntax using curly braces could be found.  It’s deprecated in PHP 7.4 The easiest way to check is to run global search/replace: 
    (\$[A-z0-9_]* ?)\{([^}]+)\} with $1[$2]

    be careful, some JavaScript files could be modified too.

  • “The @ operator will no longer silence fatal errors … Error handlers that expect error_reporting to be 0 when @ is used, should be adjusted to use a mask check instead”. Replace in /system/framework.php (lines 19-21):
    if (error_reporting() === 0) {
      return false;
    if (!(error_reporting() & $code)) {
      return false; // Silenced
  • Comment line 7 in Environment.php from Twig
    @trigger_error(sprintf('Using the "Twig_Environment" class is deprecated since Twig version 2.7, use "Twig\Environment" instead.'), E_USER_DEPRECATED);

    otherwise it will bloat the the OpenCart error file