[BlueOnyx:17704] Re: More Roundcube issues - confirmed
Michael Stauber
mstauber at blueonyx.it
Wed May 27 19:13:22 -05 2015
Hi Gregg,
> However there are still some pear issues, like idna2 and mime.
> If I go ahead and upgrade the PHP from the BO store, will that solve all the
> pear issues that come with the new roundcube?
> Or should I just keep trying to solve the dependencies?
I just tried it on 5209R with RoundCube v1.1.1:
PHP-5.4.16: (Stock PHP) Not working, blank page.
PHP-5.3.29: Not working, complains Net_IDNA2 missing.
PHP-5.4.40: Not working, blank page. No error shown or logged.
PHP-5.5.25: Not working, blank page. No error shown or logged.
PHP-5.6.8: Not working, blank page. No error shown or logged.
The exact error message I got from PHP-5.3.29 was this:
AH01071: Got error 'PHP message: PHP Fatal error: Class 'Net_IDNA2' not
found in
/home/.sites/28/site1/web/roundcube/program/lib/Roundcube/bootstrap.php
on line 440'
Which is actually this code:
if (!function_exists('idn_to_utf8'))
{
function idn_to_utf8($domain)
{
static $idn, $loaded;
if (!$loaded) {
$idn = new Net_IDNA2();
$loaded = true;
}
if ($idn && $domain && preg_match('/(^|\.)xn--/i', $domain)) {
try {
$domain = $idn->decode($domain);
}
catch (Exception $e) {
}
}
return $domain;
}
}
See http://php.net/manual/en/function.idn-to-utf8.php
Which is pretty ridiculous and utterly moronic. This code says: If the
function 'idn_to_utf8' *not* exists in PHP (it is *only* provided by the
optional PECL IDN extension!), then declare the function 'idn_to_utf8'
and call the (optional) PEAR extension Net_IDNA2() to simulate that
functionality.
I'm looking at this code and I'm like: WTF! YGBSM!!
PHP has UTF-8 handling built in since ages. There are tons of freely
distributed Classes which handle IDN conversions. But noooooo ... these
gentlemen now require some exotic beta-quality PECL modules which are
not part of any PHP build by default. Neither from RedHat, CentOS, SL or
ourselves.
FWIW:
[root at 5209r php-5.6]# /home/solarspeed/php-5.6/bin/pear install Net_IDNA2
Failed to download pear/Net_IDNA2 within preferred state "stable",
latest release is version 0.1.1, stability "beta", use
"channel://pear.php.net/Net_IDNA2-0.1.1" to install
install failed
Sooo ... beta quality as well. But once it is installed, RoundCube 1.1.1
works with PHP-5.6.
If I try to compile the beta version of "idn" instead ...
[root at 5209r php-5.6]# /home/solarspeed/php-5.6/bin/pecl install
channel://pecl.php.net/idn-0.2.0
... I get tons and tons of compile errors, as that PECL module *only*
works with PHP-5.3, but not PHP-5.4, 5.5 or 5.6.
It is a major pain in the gluteus maximus to ship pre-built PECL or PEAR
extensions for each and any version of PHP that we support. As you can
see: These shitty PECL modules aren't even available for some (or most!)
PHP versions.
Sooo ... really: I'm *this* close (/me holds up thumb and index finger
tightly pressed together) to dump RoundCube from the shop and go fishing
for another Webmailer that doesn't suck.
--
With best regards
Michael Stauber
More information about the Blueonyx
mailing list