Hi all,
I've just upgraded my server to PHP 5.2.1, and roundcube stopped working , here is what I get every time I access the directory root:
[15-Feb-2007 14:10:03] PHP Warning: preg_split() [<a href='function.preg-split'>function.preg-split</a>]: Compilation failed: lookbehind assertion is not fixed length at offset 7 in /usr/local/www/roundcube/program/lib/DB/common.php on line 751 [15-Feb-2007 14:10:03] PHP Warning: Invalid argument supplied for foreach() in /usr/local/www/roundcube/program/lib/DB/common.php on line 756 [15-Feb-2007 14:10:03 +0400] DB Error: DB Error: mismatch Query: [DB Error: mismatch] in /usr/local/www/roundcube/program/include/rcube_db.inc on line 501 [15-Feb-2007 14:10:03] PHP Fatal error: Call to a member function fetchRow() on a non-object in /usr/local/www/roundcube/program/include/rcube_db.inc on line 368
Looking at /usr/local/www/roundcube/program/lib/DB/common.php:751 seems this preg_split is causing the error:
function prepare($query)
{
$tokens = preg_split('/((?<!\\\)[&?!])/', $query, -1,
PREG_SPLIT_DELIM_CAPTURE);
[snip]
Everything worked with PHP 5.2.0... So either something wrong with 5.2.1, or that regexp is invalid... Googling around found this related bug: http://bugs.php.net/bug.php?id=38327&edit=1
Any ideas? Vahan