Не удается обновить пакеты PHP на Ubuntu Server 16.04 - PullRequest
0 голосов
/ 11 июля 2019

Я использую Google Cloud Compute Engine для наших веб-серверов. Мы запускаем наши веб-приложения на PHP7.2, используя PPA Ондржея Сури.

У нас есть скрипт запуска, чтобы установить все необходимые пакеты и выполнить настройку:

apt install -y apache2 php7.2 php7.2-common php7.2-cli php7.2-mysql php7.2-json php7.2-opcache php7.2-readline php7.2-intl php7.2-mbstring php7.2-zip php7.2-curl php7.2-xml php7.2-memcached php7.2-imagick php7.2-bcmath php7.2-json

a2dismod php7.0
a2enmod php7.2
update-alternatives --set php /usr/bin/php7.2
update-alternatives --set phar /usr/bin/phar7.2
update-alternatives --set phar.phar /usr/bin/phar.phar7.2
update-alternatives --set phpize /usr/bin/phpize7.2
update-alternatives --set php-config /usr/bin/php-config7.2

При первоначальной настройке виртуальной машины все работает и все пакеты устанавливаются без проблем.

Но когда нам нужно установить новые пакеты php7.2-XXX или когда есть обновления установленных пакетов, мы всегда сталкиваемся с ошибками конфигурации, как показано ниже:

Поэтому, когда мы запускаем apt -y upgrade, мы получаем следующие ошибки:

Setting up php7.2-common (7.2.20-1+ubuntu16.04.1+deb.sury.org+1) ...
Internal error!
dpkg: error processing package php7.2-common (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of php7.2-curl:
 php7.2-curl depends on php7.2-common (= 7.2.20-1+ubuntu16.04.1+deb.sury.org+1); however:
  Package php7.2-common is not configured yet.

dpkg: error processing package php7.2-json (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of php7.2-opcache:
 php7.2-opcache depends on php7.2-common (= 7.2.20-1+ubuntu16.04.1+deb.sury.org+1); however:
  Package php7.2-common is not configured yet.

...

Окончание:

Errors were encountered while processing:
 php7.2-common
 php7.2-json
 php7.2-opcache
 php7.2-readline
 php7.2-cli
 libapache2-mod-php7.2
 php7.2
 php7.2-bcmath
 php7.2-curl
 php7.2-gd
 php7.2-intl
 php7.2-mbstring
 php7.2-mysql
 php7.2-soap
 php7.2-xml
 php7.2-zip
E: Sub-process /usr/bin/dpkg returned an error code (1)

Что я пробовал:

rebooting
apt autoremove
apt autoclean
apt clean
re-running our startup script

dpkg --configure php7.2-common В результате:

Setting up php7.2-common (7.2.20-1+ubuntu16.04.1+deb.sury.org+1) ...
Internal error!
dpkg: error processing package php7.2-common (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 php7.2-common

К счастью, наши веб-приложения работают нормально. Уже несколько недель ищем информацию об этих ошибках.

1 Ответ

1 голос
/ 12 июля 2019

Я понимаю, что в настоящее время у вас возникают проблемы при попытке установить / обновить пакеты PHP, даже если ваши экземпляры работают нормально; Сначала я бы порекомендовал вам форсировать установку в случае, если «установка пакета» была прервана ранее, попробуйте следующую команду:

sudo apt-get install -f

Если вы все еще не можете установить пакеты PHP 7.2, пожалуйста, удалите файлы пост-информации из этого пакета; вы можете попробовать удалить файлы, связанные с данным пакетом, из /var/lib/dpkg/info.

В связи с тем, что у вас проблемы со всем php7.2, найдите файлы, связанные с ним:

ls -l /var/lib/dpkg/info | grep -i php7.2

После этого попробуйте переместить их (временно) в другую папку (см. Пример команды ниже):

sudo mv /var/lib/dpkg/info/php7.2-.* /tmp

И, наконец, используйте обновление sudo apt, и вы сможете установить программное обеспечение как обычно. Пожалуйста, дайте мне знать результаты. Я буду ждать вашего ответа!

Франциско З.

...