macos — возможно ли обновить PHP в среде, предоставляемой с помощью puPHPet?

Если у меня есть бродячая коробка с использованием puPHPet на OSX, возможно ли обновить версию PHP с 5.5 до 5.6 с простым изменением файла конфигурации, или мне нужно выполнить повторное предоставление с нуля?

В качестве альтернативы проще обновить PHP через менеджер пакетов гостевой ОС, в этом случае Убунту 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 и это, казалось, делало намного больше, чем просто перезапуск виртуальной машины (выполнялся через сценарии инициализации), но версия PHP не изменилась.

3

Решение

Насколько я знаю, это должно быть достаточно легко сделать.

Настроить puphpet/config.yml чтобы отразить ваши изменения и запустить vagrant provision,

Чтобы уточнить, чтобы обновить версию php, я настроил:

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

в

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

точное местоположение этой информации в config.yml для меня сейчас находится в строке 109-111. Но файл может отличаться в зависимости от функций, которые могут добавляться или не добавляться, поэтому не полагайтесь на это слишком сильно.

3

Другие решения

На самом деле, я не думаю, что вы можете сделать это, это более глубокая марионетка, не знаю, как это сделать.

Тем не менее, вы можете добавить собственный сценарий, который будет работать, но лучшее решение для меня — уничтожить и повторно запустить вашу виртуальную машину (что, по мнению бродячей философии, не должно вызывать проблем).

(Я попытался удалить каталог /.puphpet-stuff/ в виртуальной машине, так как думал, что vagrant посчитает, что это чистая установка после перезапуска предоставления vagrant, но он не работает лучше.)

Удачи

2

Была такая же проблема, после обновления в config.yml версия PHP от ’54’ до ’56’ в бродячей коробке CentOS.

vagrant provision с последующим vagrant reload не работал.

vagrant destroy с последующим vagrant up работал для меня также.

1

Для того чтобы обновить версию php, пришлось уничтожить ВМ (vagrant destroy), измените версию в config.yml а затем сделать свежий vagrant up

0

У меня тоже не сработало vagrant provision,
В конце я вошел через SSH и обновил php вручную.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector