Я случайно обновил свою систему вместо того, чтобы просто установить обновления, и мой Moodle не работает из-за проблем с PHP.
Он сообщает мне о неудовлетворенных зависимостях и проблемах с PHP5-cli.
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)
Как мне исправить мой php?? Похоже, я не могу исправить зависимости.
При запуске sudo dpkg --configure -a
я получаю много проблем с зависимостями, оставаясь ненастроенным.
sudo apt-get install -f
я получил
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)
решение1
У меня была та же проблема, я пытался запустить joomla, установив базовые пакеты LAMP сразу после обновления до 16.04, когда это началось.
Не мог установить ни один пакет и не мог удалитьlibapache2-mod-php5
Удаление libapache2-mod-php5
ОШИБКА: Модуль php5 не существует!
Погуглив и почесав голову, я пришел к выводу, что частью моей проблемы было то, что Apache все еще использовал php5.
Я не уверен, что это правильный способ решения проблемы, но мне удалось ее исправить, выполнив следующие действия:
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
Это решило проблему, и теперь я снова могу спокойно устанавливать и удалять программное обеспечение.
Может быть, кто-то умнее меня сможет объяснить, почему это сработало, или предложить более элегантное/подходящее решение.
В любом случае, надеюсь, это поможет.
решение2
Проблема в том, что у вас больше нет PHP 5 и вы используете PHP7. Возможно, вам придется обновить некоторые плагины и файлы PHP для нового PHP7. Файлы php.ini теперь находятся в /etc/php/7.0, а не в /etc/php5. Возможно, вам придется что-то изменить в Apache или Moodle, чтобы отразить это изменение.