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

时间:2016-12-07 09:05:50

标签: php nginx vagrant vagrantfile vagrant-provision

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

在其中我指定PHP v5.6:

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

然而,我跑

$ vagrant up

当我进入框中并执行

$ php -v 

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

为什么没有安装5.6

1 个答案:

答案 0 :(得分:4)

我不确定在迁移ppa之后这个repo是否已经为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

(如果您在初始配置后直接从VM运行此命令,请确保运行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