3

OSX でpuPHPetを使用して vagrant box をプロビジョニングした場合、簡単な構成ファイルの変更で PHP バージョンを 5.5 から 5.6 にアップグレードできますか、それともゼロから再プロビジョニングする必要がありますか?

または、ゲスト OS パッケージ マネージャー (この場合はUbuntu 14.04 ) を介して PHP をアップグレードする方が簡単です。ここでの使用例は単一の開発環境 (大規模なチームではない) ですが、後で 2 人目の開発者やクラウド サービスに同じ環境をプロビジョニングする場合があり、最新の安定した 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 のバージョンは変更されていません。

4

5 に答える 5

3

私の知る限り、これは簡単に実行できるはずです。

を調整puphpet/config.ymlして変更を反映し、実行しますvagrant provision

明確にするために、私が調整したphpバージョンをアップグレードするために:

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

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

現在、config.yml 内のこの情報の正確な場所は、109 行目から 111 行目です。ただし、ファイルは、追加される機能と追加されない機能によって異なる場合があるため、あまり依存しないでください。

于 2014-10-07T14:55:22.653 に答える
2

実際、私はあなたがこれを行うことができるとは思わない、それはより深い操り人形がこれを行う方法を知らない.

それにもかかわらず、トリックを実行するカスタム スクリプトを追加することはできますが、私にとって最善の解決策は、VM を破棄して再起動することです (浮浪者の哲学によれば、これは問題にはならないはずです)。

(私は vagrant の /.puphpet-stuff/ ディレクトリを削除しようとしました。なぜなら、vagrant プロビジョニングを再起動した後、vagrant はこれがクリーン インストールであると信じるだろうと思ったからです。しかし、うまくいきません。)

幸運を

于 2014-11-09T11:39:49.770 に答える
1

config.ymlCentOS vagrantボックスでPHPバージョンを「54」から「56」に更新した後、同じ問題が発生しました。

vagrant provision続いてvagrant reload動作しませんでした。

vagrant destroy続いてvagrant up私のためにも働きました。

于 2015-07-26T03:46:00.760 に答える
0

PHP のバージョンをアップグレードするには、VM ( ) を破棄しvagrant destroy、バージョンを変更してconfig.ymlから、新しくする必要がありました。vagrant up

于 2014-11-16T09:58:22.443 に答える