Vagrantfile PHP 指定了 v5.6 但安装了 v5.5

Vagrantfile PHP v5.6 specified but v5.5 installed

我有一个 Vaprobash VagrantFile 构建一个 Ubuntu Nginx 堆栈。

我在其中指定 PHP v5.6:

php_version = "5.6" //Options: 5.5 | 5.6

不过,我运行

$ vagrant up

当我 ssh 进入盒子并执行

$ php -v 

它显示 PHP 5.5.9-1ubuntu4.20 (cli)(内置:2016 年 10 月 3 日 13:00:37)。

为什么 5.6 没有安装?

我不确定在迁移 ppa 后 php 是否更新了此存储库(参见 https://github.com/oerdnj/deb.sury.org/wiki/PPA-migration-to-ppa:ondrej-php

基本上在 scripts/php.sh 中你需要用

替换 ppa
sudo add-apt-repository ppa:ondrej/php

(如果您在初始配置后直接从虚拟机 运行 执行此命令,请确保 运行 sudo apt-get update)- 要安装 php5.6,您需要 运行

sudo apt-get install -qq libapache2-mod-php5.6

通过此更改,您现在可以

vagrant@vaprobash:~$ php -v
PHP 5.6.28-1+deb.sury.org~trusty+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

如果您需要额外的 php 模块,请确保通过在您的 php 版本中指定 5.6 来替换安装,例如

sudo apt-get install -qq php5.6-fpm