Po upgrade PHP na 5.6.8/5.6.9 nefunguje skládání SQL SQLBuilder

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
James07
Člen | 41
+
0
-

Mám na hostingu php5.cz nette(verzi 2.2.7) aplikaci, ale po upgrade na novější PHP (5.6.8 nebo 5.6.9) mi nefunguje sestavení SQL dotazu a místo toho se mi vyhazuje tato chybová hláška:

<?php
Warning

preg_replace_callback(): Compilation failed: internal error: previously-checked referenced subpattern not found at offset 185 search►

Source file

File: .../vendor/nette/database/src/Database/Table/SqlBuilder.php:395

385:            $builder = $this;
386:            $query = preg_replace_callback('~
387:                (?(DEFINE)
388:                    (?P<word> [a-z][\w_]* )
389:                    (?P<del> [.:] )
390:                    (?P<node> (?&del)? (?&word) (\((?&word)\))? )
391:                )
392:                (?P<chain> (?!\.) (?&node)*)  \. (?P<column> (?&word) | \*  )
393:            ~xi', function($match) use (& $joins, $builder) {
394:                return $builder->parseJoinsCb($joins, $match);
395:            }, $query);
396:        }
397:
398:
399:        public function parseJoinsCb(& $joins, $match)
?>

Výsledek je ten, že SQL kód se mi nesestaví správně a kvůli tomu mi nefungují žádné sql příkazy.

To, že je to zapříčiněné novou verzí PHP jenom odhaduji, ale stejný kód mi na PHP 5.6.7 fungoval bezchybně (stejně tak na 5.5.12).