Pfadprobleme bei Extensions - Unable to load dynamic library

Ubuntu 10.04
Apache 2
PHP Version 5.3.2-1ubuntu4.2

Einige Module können von PHP nicht geladen werden...
Code:
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060614+lfs/mcrypt.so/mcrypt.so' - /usr/lib/php5/20060614+lfs/mcrypt.so/mcrypt.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060614+lfs/mcrypt.so/ldap.so' - /usr/lib/php5/20060614+lfs/mcrypt.so/ldap.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060614+lfs/mcrypt.so/mcrypt.so' - /usr/lib/php5/20060614+lfs/mcrypt.so/mcrypt.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060614+lfs/mcrypt.so/mhash.so' - /usr/lib/php5/20060614+lfs/mcrypt.so/mhash.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060614+lfs/mcrypt.so/pdo.so' - /usr/lib/php5/20060614+lfs/mcrypt.so/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0
... was offensichtlich an falschen Pfaden liegt. Der korrekte Pfad wäre /usr/lib/php5/20090626+lfs/, in diesem Ordner liegen die Erweiterungen. Diesen Ordner habe ich in die php.ini Dateien unter "extension_dir" eingetragen. Die ini-Dateien befinden sich an folgenden Orten:
  • /etc/php5/apache2/php.ini
  • /etc/php5/cli/php.ini

Aber leider bleibt die Fehlermeldung, Server wurde selbstverständlich neu gestartet nach den Änderungen. Ich weiß leider nicht, wo er sich den Pfad hersaugt und warum er nicht den Extension_dir Wert benutzt ... jemand Ideen?
 
Wenn du [phpf]phpinfo[/phpf] ausgibst, wird auch gezeigt welche php.ini geladen wird.
Ansonsten reicht es den Apache neuzustarten, nicht den ganzen Server.
 
Code:
; Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/lib/php5/20090626+lfs/"

Ist ja richtig, oder?
 
Danach habe ich nicht gefragt.
Was sagt denn [phpf]phpinfo[/phpf] zu:
Loaded Configuration File und extension_dir?
 
Extension Dir
Code:
/usr/lib/php5/20090626+lfs	/usr/lib/php5/20090626+lfs

Loaded Configuration File
Code:
/etc/php5/apache2/php.ini
 
Gut, da scheint also schonmal alles zu stimmen.
Sind die betroffenen Extensions eventuell mit einem absoluten Pfad eingetragen?
 
In den jeweiligen Ini-Dateien befinden sich Einträge der Art ...
Code:
extension = <Modul>.so
... ohne Pfadangaben. Meintest du das?

In der phpinfo() stehen keine Pfadangaben bei den Modulen.
 
Eine unsaubere Lösung ist, einfach symbolische Links anzulegen, welche auf die richtigen Dateien verweisen. Aktuell habe ich diese Lösung im Gebrauch, bis sich der Grund für die falschen Pfadangaben findet ;)
 
Zurück