我在Ubuntu上使用Vagrant box(实际上是Homestead)。当我使用PHP 5.6框时
php -v
我越来越:
PHP 5.6.13-1+deb.sury.org~trusty+3 (cli)
所以很明显这是PHP 5.6.13。
但是当用PHP 7运行box时,我得到了:
PHP 7.0.0-2+deb.sury.org~trusty+1 (cli) ( NTS )
而且我真的不确定是PHP 7.0还是PHP 7.0.2(我不了解-2
PHP版本中的内容)。
我Ubuntu 14.04.3 LTS (GNU/Linux 3.19.0-25-generic x86_64)
在这个盒子里跑
当我跑步时:
dpkg --get-selections | grep php
我越来越:
php-common install
php-curl install
php-gd install
php-imap install
php-mysql install
php-pgsql install
php-sqlite3 install
php7.0-cli install
php7.0-common install
php7.0-curl install
php7.0-dev install
php7.0-fpm install
php7.0-gd install
php7.0-imap install
php7.0-json install
php7.0-mysql install
php7.0-opcache install
php7.0-pgsql install
php7.0-sqlite3 install
当我跑步时:
sudo apt-get upgrade php-common
我现在得到:
php-common is already the newest version.
php-common set to manually installed.
因此,问题是-如果它是PHP 7.0而不是7.0.2,我如何轻松更新到最新的7.0.2,或者它还不能作为Ubuntu的软件包使用?
编辑
按照建议,我已经运行:
sudo apt-get update
和
sudo apt-get upgrade
有关于安装PHP 7.0.2的信息,但是当我运行时,php -v
我仍然得到:
PHP 7.0.0-2+deb.sury.org~trusty+1 (cli)
现在,当我跑步时
sudo apt-get upgrade
我越来越:
[email protected]:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
libssl-dev nfs-common openssl php7.0-cli php7.0-dev php7.0-fpm
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
当我跑步时:
apt-cache policy php7.0-cli
我越来越:
[email protected]:~$ apt-cache policy php7.0-cli
php7.0-cli:
Installed: 7.0.0-2+deb.sury.org~trusty+1
Candidate: 7.0.2-4+deb.sury.org~trusty+1
Version table:
7.0.2-4+deb.sury.org~trusty+1 0
500 http://ppa.launchpad.net/ondrej/php-7.0/ubuntu/ trusty/main amd64 Packages
*** 7.0.0-2+deb.sury.org~trusty+1 0
100 /var/lib/dpkg/status
第一部分,安装了什么。
所有这些都可以追溯到软件包的版本控制方案,以及为什么会感到困惑。因此,让我们将其分解为各个部分。假设它符合典型的Debian版本控制等等,那么...
拿你说的php7:
PHP 7.0.0-2+deb.sury.org~trusty+1
对该字符串的剖析如下:
PHP
=软件名称7.0.0
=该软件的版本(来自PHP自己的版本控制方案)-2
=软件包修订号-即完成了多少次不同的包装更改-这将是“第二个软件包”,这表示他们quilt
在第二个版本中对包装或应用的补丁程序进行了更改。+deb.sury.org
指示存储库源-来自仓库deb.sury.org
,实际上是运行在Launchpad上的PPA,并带有运行deb.sury.org
网站的人员制作的软件包。~trusty+1
-这表示针对存储库进行了其他版本特定的更改-这是Ubuntu Trusty软件包,并且可能是Trusty特定的软件包的第一版或第二版(取决于它们是否曾使用过+0
)。TL; DR:这是一个PHP 7.0.0软件包,但是自最初的PHP 7.0.0软件包以来,它已经进行了几次修订。
第二部分,如何获取PHP 7.0.2。
您正在使用的存储库是一个PPA -可能这一个。
有人告诉我7.0.2可用,您需要运行apt-get update && apt-get upgrade
。那应该使您选择正确的版本。如果不是,请尝试使用apt-get dist-upgrade
,因为可能需要添加其他依赖项,因此升级被推迟。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句