有些東西正在封鎖/刪除 PHP7.4-FPM

有些東西正在封鎖/刪除 PHP7.4-FPM

我在 Ubuntu 伺服器 20.04 上,使用 php7.4-fpm 運行 LAMP。

我剛剛執行了最新的更新/升級並確認一切正常:

● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-08-26 00:50:45 CST; 7min ago
       Docs: man:php-fpm7.4(8)
   Main PID: 120871 (php-fpm7.4)
     Status: "Processes active: 0, idle: 2, Requests: 24, slow: 0, Traffic: 0.1req/sec"
      Tasks: 3 (limit: 4380)
     Memory: 80.8M
     CGroup: /system.slice/php7.4-fpm.service
             ├─120871 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
             ├─120892 php-fpm: pool www
             └─120893 php-fpm: pool www

然後幾分鐘後......我的 Nextcloud 安裝突然停止同步,所以我重新檢查 php-fpm 的狀態,我得到:

● php7.4-fpm.service
     Loaded: masked (Reason: Unit php7.4-fpm.service is masked.)
     Active: inactive (dead) since Fri 2022-08-26 01:07:14 CST; 5min ago
   Main PID: 120871 (code=exited, status=0/SUCCESS)
     Status: "Processes active: 0, idle: 2, Requests: 44, slow: 0, Traffic: 0req/sec"

Aug 26 01:07:14 admin.example.com systemd[1]: Stopping The PHP 7.4 FastCGI Process Manager...
Aug 26 01:07:14 admin.example.com systemd[1]: php7.4-fpm.service: Succeeded.
Aug 26 01:07:14 admin.example.com systemd[1]: Stopped The PHP 7.4 FastCGI Process Manager.
Warning: journal has been rotated since unit was started, output may be incomplete.`

而且,相當平淡地說,/lib/systemd/system/php7.4-fpm.service不再存在

# stat /lib/systemd/system/php7.4-fpm.service
stat: cannot stat '/lib/systemd/system/php7.4-fpm.service': No such file or directory

我檢查了syslog根據時間戳屏蔽服務時發生的情況...日誌中根本沒有任何內容可以解釋發生的情況:

Aug 26 01:07:14 admin systemd[1]: Stopped The PHP 7.4 FastCGI Process Manager.
Aug 26 01:07:14 admin systemd[1]: php7.4-fpm.service: Succeeded.
Aug 26 01:07:14 admin systemd[1]: Stopping The PHP 7.4 FastCGI Process Manager...
Aug 26 01:07:14 admin systemd[1]: Configuration file /etc/systemd/system/gitea.service is marked world-inaccessible. This has no effect as configuration data is accessible via APIs without restrictions. Proceeding anyway.
Aug 26 01:07:14 admin systemd[1]: Reloading.
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module readline for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module pspell for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module ctype for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module redis for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module dom for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module soap for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module iconv for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module apcu_bc for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module phar for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module mysqlnd for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module imap for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module xsl for PHP 7.4 fpm sapi
Aug 26 01:07:14 admin php7.4-fpm: php_invoke prerm: Disabled module sysvshm for PHP 7.4 fpm sapi

更新: 當我嘗試使用 解密 php7.4-fpm 時systemctl unmask php7.4-fpm,會發生兩件事:

  1. /etc/systemd/system/php7.4-fpm.service已移除。/etc/systemd/system/php7.4-fpm.service是 /dev/null 的符號鏈接

  2. php7.4-fpm.service 啟動使用init.d

● php7.4-fpm.service - LSB: starts php7.4-fpm
     Loaded: loaded (/etc/init.d/php7.4-fpm; generated)
     Active: active (exited) since Fri 2022-08-26 09:09:10 CST; 6min ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 0 (limit: 4380)
     Memory: 0B
     CGroup: /system.slice/php7.4-fpm.service

如果我嘗試使用重新安裝 php7.4fpmapt-get install --reinstall php7.4-fpm我得到:

root@admin:~# apt-get install --reinstall php7.4-fpm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 php7.4-fpm : Depends: php7.4-common (= 7.4.3-4ubuntu2.12) but 7.4.3-4ubuntu2.13 is to be installed
E: Unable to correct problems, you have held broken packages.

以上所有步驟皆基於這篇文章: https://askubuntu.com/questions/804946/systemctl-how-to-unmask

我目前被破損的包裹困住了

是的,我已經嘗試過:
apt install -f
dpkg --configure -a

沒什麼幫助..

答案1

這個問題從根本上來說似乎是上游 ubuntu 儲存庫的打包問題,維護者可能需要一些時間來解決。

The following packages have unmet dependencies:
 php7.4-fpm : Depends: php7.4-common (= 7.4.3-4ubuntu2.12) but 7.4.3-4ubuntu2.13 is to be installed
E: Unable to correct problems, you have held broken packages.

同時,解決這個問題的唯一方法似乎是-前-您執行最新的 php 更新...請確保您的電腦上安裝了此儲存庫:

sudo add-apt-repository ppa:ondrej/php

如果在更新之前安裝此存儲庫,您可以避免上面的噩夢。

相關內容