0

Apache 2.4 と PHP 7.0 で ubuntu/trusty64 vagrant ボックスをプロビジョニングしようとしていますが、成功していません。

これは私の provision.sh スクリプトです:

#!/usr/bin/env bash

# Vagrant instance provision script

# Php 7.0
sudo add-apt-repository ppa:ondrej/php -y
sudo apt-get update
sudo apt-get install php7.0 -y

# Apache 2.4
sudo add-apt-repository ppa:ondrej/apache2 -y
sudo apt-get update
sudo apt-get install apache2 -y
if ! [ -L /var/www ]; then
  rm -rf /var/www/html
  ln -fs /vagrant /var/www/html
fi

vagrant up すると、apache は正常に動作しますが、PHP は動作しません。ただし、PHPのインストール行を削除すると、

sudo apt-get install php7.0 -y

VM の実行後にコマンド ラインから実行すると、PHP は正常に動作します。

これがなぜなのか、またはPHPが最初から機能するようにボックスのプロビジョニングを修正する方法はありますか?

4

1 に答える 1

3

最初の質問にはすでに回答が含まれています。コマンドが実行される順序です。Apache をインストールする前に PHP をインストールすると、特定の構成ファイルが自動的に構成されません。これは手動で行うことができますが、特定のノウハウが必要です。私はまだ簡単なチュートリアルやマニュアルに出くわす必要があります.

#!/usr/bin/env bash

# Vagrant instance provision script

# Php 7.0
sudo add-apt-repository ppa:ondrej/php -y
sudo apt-get update

# Apache 2.4
sudo add-apt-repository ppa:ondrej/apache2 -y
sudo apt-get update
sudo apt-get install apache2 -y
if ! [ -L /var/www ]; then
  rm -rf /var/www/html
  ln -fs /vagrant /var/www/html
fi

# Changed this line
sudo apt-get install php7.0 -y

私もこの問題に直面してきました。うまくいけば、この答えで私は他の人にいくつかの助けを提供します.

于 2016-10-16T20:07:33.040 に答える