Mailing List ecs-isp@2rosenthals.com Archived Message #667

From: "Lewis G Rosenthal" <ecs-isp@2rosenthals.com> Full Headers
Undecoded message
Subject: Re: [eCS-ISP] RoundCube webmail 1.4 or 1.5 php issue
Date: Fri, 26 Jan 2024 23:39:38 -0500
To: eCS ISP Mailing List <ecs-isp@2rosenthals.com>

Hi, Paul...

On 01/26/24 03:39 pm, Paul Smedley wrote:
Try again.For some reason, when I copied over the file to the webserver, it didn't overwrite the jurassic  file that was already there.


Interestingly enough, while php info still shows:

'--enable-mbstring=shared,all' '--disable-mbregex'

(because you didn't rebuild php - I'm not that far gone...yet), mbstring does now reflect:

Multibyte (japanese) regex support     enabled
Multibyte regex (oniguruma) version     6.9.9

So this looks like it should work.

(If you have an oniguruma package beyond just the lib needed for mbstring, I can bundle it as rpm.)

Sorry to interrupt. Back to our regularly scheduled programming...

On 27/1/24 01:13, Massimo S. wrote:
Hi Paul,

with this DLL:

mbstring.dll    1.229K 20/09/17  8:35a

i get:

[26-Jan-2024 14:38:05 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'mbstring.dll' (tried: d:/apache/modules\mbstring.dll (dlopen rc=2 extra=PHP5), d:/apache/modules\mbstring.dll.so (dlopen rc=2 extra=D:\APACHE\MODULES\MBSTRING.DLL.SO)) in Unknown on line 0

and the webmail gives an http error 500

massimo


Il 26/01/2024 05:06, Paul Smedley ha scritto:
https://smedley.id.au/tmp/mbstring.zip might fix this.

On 26/1/24 09:24, Paul Smedley wrote:
Hi guys,

On 26/1/24 08:28, Lewis G Rosenthal wrote:
On 01/25/24 08:44 am, Massimo S. wrote:
Hi all,

i need to upgrade RC webmail from 1.3.17 LTS to 1.4.14 or better 1.5.6.

Env:
Server Version: Apache/2.4.57 (OS/2) OpenSSL/1.1.1l PHP/7.4.32
Server Built: Apr 8 2023 07:51:12

The php webmail fail at boot with this error:

[25-Jan-2024 14:14:06 Europe/Rome] PHP Fatal error: Uncaught Error: Call to undefined function mb_regex_encoding() in D:\apache\htdocs\webmail\program\lib\Roundcube\bootstrap.php:87
Stack trace:
#0 D:\apache\htdocs\webmail\program\include\iniset.php(74): require_once()
#1 D:\apache\htdocs\webmail\installer\index.php(43): require('D:\\apache\\htdo...')
#2 {main}
  thrown in D:\apache\htdocs\webmail\program\lib\Roundcube\bootstrap.php on line 87


Setting aside what php.ini says, what does phpinfo(); say about the configuration and loaded modules?

First, check that mbstring is indeed loaded. Then look back up at the top of the page. Under my php 7.4.32 Configure Command (3rd category down, in the top section), I see:

--disable-mbregex

which effectively disables mbstring's regex component. See:

https://www.php.net/manual/en/migration74.other-changes.php

My guess is that we do not (yet) have libonig available, necessary for mbregex functions, which is why Paul built with mbregex disabled (just a WAG; Paul, please correct me if I am looking in the wrong place).

Perhaps there's a way to disable mbregex calls in RC, assuming you don't really need them?

Per https://github.com/psmedley/php-os2/blob/main/configure.sh - --disable-mbregex is indeed set.

I have no re-collection as to what drove this to be set,  if there was a 3rd party dependency that wasn't readily available, that was likely the issue.


--
Lewis
-------------------------------------------------------------
Lewis G Rosenthal, CNA, CLP, CLE, CWTS, EA
Rosenthal & Rosenthal, LLC                www.2rosenthals.com
visit my IT blog                www.2rosenthals.net/wordpress
-------------------------------------------------------------


Subscribe: Feed, Digest, Index.
Unsubscribe
Mail to ListMaster