roundcube on debian: PHP Fatal error: Call to undefined function dl()

Aleksander Machniak machniak at kolabsys.com
Thu Nov 7 10:03:52 CET 2013


On 11/07/2013 09:38 AM, Timotheus Pokorra wrote:
> Hello,
> I just did a fresh install again, and now I got the error as well:
> in /var/log/apache2/errors: [Thu Nov 07 09:30:57 2013] [error] [client
> 149.172.26.123] PHP Fatal error:  Call to undefined function dl() in
> /usr/share/php/kolabobject.php on line 22
> and setting enable_dl to On does not help either, exactly as you described.
> I checked on CentOS, and enable_dl is off there as well, but it works.

There's a code:

// Try to load our extension if it's not already loaded.
if (!extension_loaded('kolabformat')) {
  if (strtolower(substr(PHP_OS, 0, 3)) === 'win') {
    if (!dl('php_kolabformat.dll')) return;
  } else {
    // PHP_SHLIB_SUFFIX gives 'dylib' on MacOS X but modules are 'so'.
    if (PHP_SHLIB_SUFFIX === 'dylib') {
      if (!dl('kolabformat.so')) return;
    } else {
      if (!dl('kolabformat.'.PHP_SHLIB_SUFFIX)) return;
    }
  }
}

So, if kolab extensions are loaded via php.ini, dl() is never called.
That's the way to fix this. Configure PHP to load kolab extensions. In
CentOS we have /etc/php.d/kolab.ini for this.

-- 
Aleksander Machniak
Web Developer, Kolab Systems AG
-------------------------------------------------------
PGP:19359DC1 - http://www.kolabsys.com - http://alec.pl


More information about the users mailing list