Php
安裝包和可執行版本列印不匹配版本
我面臨一個關於上次更新的 PHP 包與實際執行的包之間不匹配的問題。
最近我通過執行更新了我的 Ubuntu 伺服器:
apt-get update && apt-get upgrade
在輸出中,我注意到安裝了正確的軟體包版本:
Unpacking php7.1-fpm (7.1.33-1+ubuntu18.04.1+deb.sury.org+1) over (PHP Version 7.1.25-1+ubuntu18.04.1+deb.sury.org+1) ...
我通過執行以下命令控制了安裝的版本:
apt-cache madison php7.1-fpm php7.1-fpm | 7.1.33-1+ubuntu18.04.1+deb.sury.org+1 | http://ppa.launchpad.net/ondrej/php/ubuntu bionic/main amd64 Packages
但是當我
phpinfo()
從 php-fpm socket 執行時,我仍然看到之前安裝的版本:PHP Version 7.1.25-1+ubuntu18.04.1+deb.sury.org+1
我試過什麼?
- 要重新啟動
php7.1-fpm
。- 重新啟動 Nginx(位於 PHP fpm 之上)。
編輯 1
$ which php /usr/bin/php $ ls -al /usr/bin | grep php php -> /etc/alternatives/php php7.1 $ ls -al /etc/alternatives | grep php php -> /usr/bin/php7.1 php.1.gz -> /usr/share/man/man1/php7.1.1.gz $ /usr/bin/php7.1 -v PHP 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Dec 7 2018 08:15:52) ( NTS )
編輯 2
$ dpkg -l 'php*'|grep ^ii ii php-common 2:69+ubuntu18.04.1+deb.sury.org+2+php7.3 all Common files for PHP packages ii php-geoip 1.1.1-2+ubuntu18.04.1+deb.sury.org+10 amd64 GeoIP module for PHP ii php-igbinary 3.0.1+2.0.8-1+ubuntu18.04.1+deb.sury.org+1 amd64 igbinary PHP serializer ii php-memcached 3.1.3+2.2.0-1+ubuntu18.04.1+deb.sury.org+1 amd64 memcached extension module for PHP, uses libmemcached ii php-msgpack 2.0.3+0.5.7-1+ubuntu18.04.1+deb.sury.org+1 amd64 PHP extension for interfacing with MessagePack ii php-redis 5.0.2+4.3.0-2+ubuntu18.04.1+deb.sury.org+1 amd64 PHP extension for interfacing with Redis ii php7.1 7.1.33-1+ubuntu18.04.1+deb.sury.org+1 all server-side, HTML-embedded scripting language (metapackage) ii php7.1-cli 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 command-line interpreter for the PHP scripting language ii php7.1-common 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 documentation, examples and common module for PHP ii php7.1-curl 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 CURL module for PHP ii php7.1-fpm 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 server-side, HTML-embedded scripting language (FPM-CGI binary) ii php7.1-gd 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 GD module for PHP ii php7.1-gmp 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 GMP module for PHP ii php7.1-intl 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 Internationalisation module for PHP ii php7.1-json 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 JSON module for PHP ii php7.1-mbstring 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 MBSTRING module for PHP ii php7.1-mcrypt 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 libmcrypt module for PHP ii php7.1-mysql 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 MySQL module for PHP ii php7.1-opcache 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 Zend OpCache module for PHP ii php7.1-readline 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 readline module for PHP ii php7.1-sqlite3 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 SQLite3 module for PHP ii php7.1-xml 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 DOM, SimpleXML, WDDX, XML, and XSL module for PHP ii php7.1-zip 7.1.25-1+ubuntu18.04.1+deb.sury.org+1 amd64 Zip module for PHP
已安裝包的列表僅顯示
php7.1
為 7.1.33 版本,但所有子包都未升級到 7.1.33。您可能希望同時升級php7.1-cli
和php7.1-fpm
升級所有依賴包,因為它們具有更嚴格的版本依賴性。您可能希望
apt-cache policy
將來使用,因為apt-cache madison
顯示了可用的軟體包並且未安裝在系統上:[jollyroger@desktop:~]% apt-cache policy vim-tiny vim-tiny: Installed: 2:8.1.0875-5+b1 Candidate: 2:8.1.2136-1 Version table: 2:8.1.2136-1 990 990 http://deb.debian.org/debian sid/main amd64 Packages *** 2:8.1.0875-5+b1 100 100 /var/lib/dpkg/status 2:8.1.0875-5 500 500 http://deb.debian.org/debian buster/main amd64 Packages
請注意Installed行以及標有 的行
***
。