# Pfadprobleme bei Extensions - Unable to load dynamic library



## Alex Duschek (29. Juni 2010)

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

Einige Module können von PHP nicht geladen werden...

```
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?


----------



## Flex (29. Juni 2010)

Wenn du [phpf]phpinfo[/phpf] ausgibst, wird auch gezeigt welche php.ini geladen wird.
Ansonsten reicht es den Apache neuzustarten, nicht den ganzen Server.


----------



## Alex Duschek (29. Juni 2010)

```
; Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/lib/php5/20090626+lfs/"
```

Ist ja richtig, oder?


----------



## Flex (29. Juni 2010)

Danach habe ich nicht gefragt.
Was sagt denn [phpf]phpinfo[/phpf] zu:
Loaded Configuration File und extension_dir?


----------



## Alex Duschek (29. Juni 2010)

Extension Dir

```
/usr/lib/php5/20090626+lfs	/usr/lib/php5/20090626+lfs
```

Loaded Configuration File

```
/etc/php5/apache2/php.ini
```


----------



## Flex (29. Juni 2010)

Gut, da scheint also schonmal alles zu stimmen.
Sind die betroffenen Extensions eventuell mit einem absoluten Pfad eingetragen?


----------



## Alex Duschek (29. Juni 2010)

In den jeweiligen Ini-Dateien befinden sich Einträge der Art ...

```
extension = <Modul>.so
```
... ohne Pfadangaben. Meintest du das?

In der phpinfo() stehen keine Pfadangaben bei den Modulen.


----------



## Alex Duschek (29. Juni 2010)

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


----------

