PHP Warnung: Module ‚modulname‘ already loaded in Unknown on line 0
Problem:
Ein virtueller Debian Server sendet alle 30 Minuten eine Mail mit folgendem Betreff:
[ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete
Inhalt:
PHP Warning: Module ’ssh2′ already loaded in Unknown on line 0
Okay … der erste Hinweis ist schon da: Wenn das Modul schon geladen ist, dann möchte wohl jemand noch einmal laden.
Kleiner Test: Auf der Kommandozeile ‚php -v‘ erzeugt eine ähnliche Meldung.
Ursache:
In PHP gibt es zwei Möglichkeiten, wie die Module geladen werden können:
1. Man kompiliert die Erweiterung direkt in die PHP binay.2. Man läd sie als ’shared extension‘ über eine ini-Datei (php.ini) nach.
Hat man jetzt das Modul einerseits bereits einkompiliert und ruft es zusätzlich aus der php.ini auf, wird das zwar funktionieren, aber es wird eine Meldung erzeugt, dass das Modul schon geladen ist.
Lösung:
Die php.ini öffnen und nach der Zeile extension=ssh2.so (oder anderem Modulnamen) suchen.
Beispiel:
vi /etc/php5/apache2/php.ini
extension = ssh2.so suchen und so auskommentieren ;extension = ssh2.so
Jetzt die Anwendung (in meinem Fall den Apache) neu starten.
Das wars …