如果我在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版本没有改变。
答案 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。