15.10 обновился до 16.04 и PHP сломался

15.10 обновился до 16.04 и PHP сломался

Я случайно обновил свою систему вместо того, чтобы просто установить обновления, и мой 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, чтобы отразить это изменение.

Связанный контент