是否可以在使用puPHPet配置的环境中升级PHP?

时间:2014-10-07 07:12:11

标签: php macos vagrant puppet puphpet

如果我在OSX上使用puPHPet配置了一个流浪盒,是否可以通过简单的配置文件更改将PHP版本从5.5升级到5.6?还是需要从头开始重新配置?

或者通过客户操作系统软件包管理器升级PHP更简单,在本例中为 Ubuntu 14.04 。这里的用例是单个开发环境(不是一个大型团队),但我后来可能想为第二个开发人员和/或云服务提供相同的环境,然后需要最新的稳定PHP。

更新

我按照建议尝试编辑puphpet / config.yml:

php:
    install: '1'
    version: '56'
    composer: '1'
    composer_home: ''
    modules:
        php:
            - cli
            - intl
            - mcrypt
        pear: {  }
        pecl:
            - pecl_http
    ini:
        display_errors: On
        error_reporting: '-1'
        session.save_path: /var/lib/php/session
    timezone: Europe/London
    mod_php: 0

然后vagrant reload,但php -v仍显示5.5.14。我也试过vagrant reload --provision,这似乎不仅仅是重启VM(运行配置脚本),但PHP版本没有改变。

5 个答案:

答案 0 :(得分:3)

据我所知,这应该很容易做到。

调整puphpet/config.yml以反映您的更改并运行vagrant provision

为了澄清,为了升级我调整的php版本:

php:
    install: '1'
    version: '54'

php:
    install: '1'
    version: '56'

现在,我在config.yml中的这些信息的确切位置是在第109行到第111行。但是文件可能会有所不同,具体取决于可能添加或不添加的功能,所以不要过多依赖。

答案 1 :(得分:2)

实际上,我认为你不能做到这一点,更深层次的傀儡不知道如何做到这一点。

尽管如此,您可以添加一个自定义脚本来完成这个技巧,但对我来说最好的解决方案是销毁和重新启动VM(根据流浪者的理念,这应该不是问题。)

(我试图删除vm中的/.puphpet-stuff/目录,因为我认为在重新启动vagrant规定之后,vagrant会认为这是一个干净的安装,但它不能更好地工作。)

祝你好运

答案 2 :(得分:1)

在CentOS流浪盒中将config.yml PHP版本从'54'更新为'56'后出现同样的问题。

vagrant provision后跟vagrant reload无效。

vagrant destroy后跟vagrant up也为我工作。

答案 3 :(得分:0)

为了升级php版本,我不得不销毁VM(vagrant destroy),更改config.yml中的版本,然后重新vagrant up

答案 4 :(得分:0)

vagrant provision对我不起作用。 最后我通过SSH登录并手动更新了PHP。