Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
1.1.0 install issues #4769
Reported by slsdoug on 16 Feb 2015 21:02 UTC as Trac ticket #1490280
I had a few problems upgrading to 1.1.0. I have PHP 5.4. The first server does not have mbstring extension. This caused fatal duplicate function defs, mb_strlen, etc. They exist in bootstrap.php, around line 374, and mbstring.php. I had to put a conditional (if(!function_exists('mb_strlen'))) around the 5 functions (listed in bootstrap.php) in mbstring.php to eradicate the fatal dup error.
The other server I use has PHP 5.4 but does have mbstring extension but no mb_regex_encoding(). It crashed until I did this (around line 83 in bootstrap.php):
Comment by @alecpl on 17 Feb 2015 12:02 UTC
Thomas, problem is that if you have mbstring extension disabled Roundcube Framework creates some mb_* functions in bootstrap.php and iniset.php file loads Patchwork which creates some mb_* functions in mbstring.php file.
So, there are two problems here:
Comment by @alecpl on 22 Feb 2015 10:19 UTC
Small correction. I was wrong about mb_regex_encoding() and Patchwork. Of course the function is called before we initialize Patchwork. Anyway, I found that the reason for this is that this function is just disabled on some cPanel installations. Simple use of function_exists() will fix that part of the issue.
Comment by @alecpl on 22 Feb 2015 10:52 UTC
Fixed in f070da7.
I don't know, maybe a better solution would be to remove mb_* functions from bootstrap.php and load the Patchwork's mbstring layer (in iniset.php as it was before). In other words to make mbstring a Framework's requirement. However, it would be a backward incompatible change.