我正在将Google Cloud Compute Engine用于我们的Web服务器。我们使用OndřejSurý的PPA在PHP7.2上运行了Webapp。
我们有一个启动脚本来安装所有必需的软件包并进行配置:
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
幸运的是,我们的Web应用程序似乎运行正常。 现在已经逛了几周,以查找有关这些错误的更多信息。
答案 0 :(得分:1)
我可以理解,即使您的实例工作正常,您在尝试安装/更新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 update,您应该能够照常安装软件。请让我知道结果。 我将等待您的回复!
Francisco Z。