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
Hi,
On 2/15/07, Vahan Yerkanian vahan@arminco.com wrote:
(...) 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
I just *love* the reply.
Anyway, try prefixing preg_*-call with an @ to surpress the error. See what happens next. I'd also add to the bug you found - supply example code and let them know that it broke from 5.2.0 to 5.2.1.
I am more concerned with the database error you also posted?
Also, I heard that serveral people boycotted the 5.2.0 release. For example, the maintainer of Gentoo ebuilld "refused" to add it. So it might not be broken now, but working after all. ;-)
Confused? Me too...
Till Klampaeckel e: mailto:klimpong@gmail.com p: +491704018676 l: http://beta.plazes.com/whereis/till
Want to know what's up in Berlin?
For the record, I had to fully uninstall the whole php5 and php5-extensions freebsd ports, delete the build configs and reinstalled all from scratch. The error mysteriously vanished.
I guess they really changed something between the versions :)
Vahan
till wrote:
Hi,
On 2/15/07, Vahan Yerkanian vahan@arminco.com wrote:
(...) 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
I just *love* the reply.
Anyway, try prefixing preg_*-call with an @ to surpress the error. See what happens next. I'd also add to the bug you found - supply example code and let them know that it broke from 5.2.0 to 5.2.1.
I am more concerned with the database error you also posted?
Also, I heard that serveral people boycotted the 5.2.0 release. For example, the maintainer of Gentoo ebuilld "refused" to add it. So it might not be broken now, but working after all. ;-)
Confused? Me too...
Cheers,
On 2/16/07, Vahan Yerkanian vahan@arminco.com wrote:
For the record, I had to fully uninstall the whole php5 and php5-extensions freebsd ports, delete the build configs and reinstalled all from scratch. The error mysteriously vanished.
make uninstall && make clean for those ;-)
So you are running 5.2.1 without a problem now?
Till Klampaeckel e: mailto:klimpong@gmail.com p: +491704018676 l: http://beta.plazes.com/whereis/till
Want to know what's up in Berlin?