Ich habe mein System versehentlich aktualisiert, anstatt einfach die Updates aufzuspielen, und jetzt funktioniert mein Moodle nicht, weil PHP durcheinander ist.
Es zeigt mir an, dass ich nicht erfüllte Abhängigkeiten und Probleme mit PHP5-CLI habe.
sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
linux-headers-3.19.0-18 linux-headers-3.19.0-18-generic linux-headers-3.19.0-26
linux-headers-3.19.0-26-generic linux-headers-3.19.0-30 linux-headers-3.19.0-30-generic
linux-headers-3.19.0-31 linux-headers-3.19.0-31-generic linux-headers-3.19.0-39
linux-headers-3.19.0-39-generic linux-headers-3.19.0-42 linux-headers-3.19.0-42-generic
linux-headers-3.19.0-43 linux-headers-3.19.0-43-generic linux-headers-3.19.0-47
linux-headers-3.19.0-47-generic linux-headers-3.19.0-49 linux-headers-3.19.0-49-generic
linux-headers-4.2.0-30 linux-headers-4.2.0-30-generic linux-image-3.19.0-18-generic
linux-image-3.19.0-26-generic linux-image-3.19.0-30-generic linux-image-3.19.0-31-generic
linux-image-3.19.0-39-generic linux-image-3.19.0-42-generic linux-image-3.19.0-43-generic
linux-image-3.19.0-47-generic linux-image-3.19.0-49-generic linux-image-4.2.0-30-generic
linux-image-extra-3.19.0-18-generic linux-image-extra-3.19.0-26-generic
linux-image-extra-3.19.0-30-generic linux-image-extra-3.19.0-31-generic
linux-image-extra-3.19.0-39-generic linux-image-extra-3.19.0-42-generic
linux-image-extra-3.19.0-43-generic linux-image-extra-3.19.0-47-generic
linux-image-extra-3.19.0-49-generic linux-image-extra-4.2.0-30-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
pkg-php-tools
Suggested packages:
dh-make
The following packages will be REMOVED:
libapache2-mod-php5
The following packages will be upgraded:
pkg-php-tools
1 upgraded, 0 newly installed, 1 to remove and 318 not upgraded.
15 not fully installed or removed.
Need to get 0 B/38.2 kB of archives.
After this operation, 10.2 MB disk space will be freed.
Do you want to continue? [Y/n] y
WARNING: The following packages cannot be authenticated!
pkg-php-tools
Install these packages without verification? [y/N] y
(Reading database ... 560010 files and directories currently installed.)
Removing libapache2-mod-php5 (5.6.11+dfsg-1ubuntu3.2) ...
ERROR: Module php5 does not exist!
dpkg: error processing package libapache2-mod-php5 (--remove):
subprocess installed pre-removal script returned error exit status 1
Errors were encountered while processing:
libapache2-mod-php5
E: Sub-process /usr/bin/dpkg returned an error code (1)
Wie kann ich mein PHP reparieren? Ich scheine die Abhängigkeiten nicht reparieren zu können.
Beim Ausführen sudo dpkg --configure -a
treten viele Abhängigkeitsprobleme auf, wenn ich sie nicht konfiguriert lasse.
sudo apt-get install -f
Ich bekomme
The following additional packages will be installed:
pkg-php-tools
Suggested packages:
dh-make
The following packages will be REMOVED:
libapache2-mod-php5
The following packages will be upgraded:
pkg-php-tools
1 upgraded, 0 newly installed, 1 to remove and 319 not upgraded.
15 not fully installed or removed.
Need to get 0 B/38.2 kB of archives.
After this operation, 10.2 MB disk space will be freed.
Do you want to continue? [Y/n] y
WARNING: The following packages cannot be authenticated!
pkg-php-tools
Install these packages without verification? [y/N] y
(Reading database ... 560010 files and directories currently installed.)
Removing libapache2-mod-php5 (5.6.11+dfsg-1ubuntu3.2) ...
ERROR: Module php5 does not exist!
dpkg: error processing package libapache2-mod-php5 (--remove):
subprocess installed pre-removal script returned error exit status 1
Errors were encountered while processing:
libapache2-mod-php5
E: Sub-process /usr/bin/dpkg returned an error code (1)
Antwort1
Ich hatte das gleiche Problem. Ich habe versucht, Joomla zum Laufen zu bringen, indem ich die grundlegenden LAMP-Pakete direkt nach meinem Upgrade auf 16.04 installiert habe, als dies begann.
Konnte keine Pakete installieren und konnte nicht entfernenlibapache2-mod-php5
Entfernen von libapache2-mod-php5.
FEHLER: Modul php5 existiert nicht!
Nach einigem Googeln und Kopfzerbrechen kam ich zu dem Schluss, dass die Tatsache, dass Apache immer noch PHP 5 verwendete, Teil meines Problems war.
Ich bin nicht sicher, ob dies der richtige Weg zur Behebung des Problems war, aber ich konnte es folgendermaßen beheben:
cd /etc/apache2/mods-enabled
sudo mv php5.conf php5.conf.old
sudo mv php5.load php5.load.old
sudo apt-get purge libapache2-mod-php5
sudo apt-get update
sudo apt-get upgrade
Damit ist das Problem gelöst und ich kann wieder problemlos Software installieren und entfernen.
Vielleicht kann jemand, der schlauer ist als ich, erklären, warum das funktioniert hat, oder eine elegantere/passendere Lösung vorstellen.
Wie dem auch sei, ich hoffe, das hilft.
Antwort2
Das Problem ist, dass Sie nicht mehr über PHP 5 verfügen, sondern PHP7 verwenden. Möglicherweise müssen Sie einige PHP-Plugins und -Dateien für das neue PHP7 aktualisieren. php.inis befinden sich jetzt unter /etc/php/7.0 und nicht unter /etc/php5. Möglicherweise müssen Sie Dinge in Apache oder Moodle ändern, um diese Änderung widerzuspiegeln.