在办公室,我们使用Homestead作为我们的本地开发环境。到目前为止我们所有的项目都是用PHP5.6制作的。现在我们有一个新项目,我们将使用PHP7。我无法在我目前的PHP5.6家用机中运行PHP7。如何实现运行PHP5.6和PHP7项目?它们不必同时运行,所以如果可以将Homestead.yaml
更改为使用更新的版本,那就没问题了。
我已经尝试过的是运行vagrant box add laravel/homestead --box-version 1.0.1
。这增加了1.0.1框,但是当我将version: 1.0.1
添加到我的Homestead.yaml
并开始流浪时,PHP版本仍然是5.6。
如果人们发现这篇文章 - 答案已经改变。
如果运行Homestead v6或更高版本 - 默认情况下会自动安装多个PHP版本。
在Homestead.yaml
文件中,您可以设置版本:
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
php: "5.6"
此外,您可以通过CLI使用任何受支持的PHP版本:
php5.6 artisan list
php7.0 artisan list
php7.1 artisan list
有关更多信息,请查看Laravel文档:https://laravel.com/docs/5.4/homestead#multiple-php-versions
最新的带有Homestead的Laravel版本包括PHP 5.6,是Laravel 5.6。有关详细信息和安装说明,请参阅https://laravel.com/docs/5.6/homestead。 在安装过程中使用以下命令来获取此Homestead-Vagrant-Box:
vagrant box add laravel/homestead --box-version 6.4.0
git clone https://github.com/laravel/homestead.git .
git checkout v7.20.0
这个Homestead-Version支持PHP 5.6到7.3。 (德语更多详细信息:https://blog.dmr-solutions.com/blog/homestead-vagrant-box-mit-php-56)
找到了解决方案!我按照this教程。我可以运行PHP 5.6和PHP 7 Homestead。我唯一要做的事情(我已经配置了PHP 5.6宅基地)是:
git clone https://github.com/laravel/homestead.git ~/Homestead-7
克隆Homestead-7文件夹(或其他名称)中的最新家园版本bash init.sh
并回答所有问题。vagrant provision
)我想补充劳伦斯的答案。
在向Homestead.yml添加php5.6之后,你不能简单地做“vagrant up --provision”。不起作用。你必须通过运行命令“vagrant destroy”来实际销毁vm并重新创建vm。
所以在销毁vm之前,最好备份你在那里的每个数据库。我通过转储Code文件夹中的所有sql来完成此操作。之后我运行命令“vagrant up”后,我可以简单地ssh到我的vm并转到mysql并再次在mysql命令行中运行“source dump.sql”。