使用Laravel Homestead进行PHP5.6和PHP7项目

问题描述 投票:3回答:4

在办公室,我们使用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。

php laravel vagrant homestead
4个回答
14
投票

如果人们发现这篇文章 - 答案已经改变。

如果运行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


2
投票

最新的带有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


1
投票

找到了解决方案!我按照this教程。我可以运行PHP 5.6和PHP 7 Homestead。我唯一要做的事情(我已经配置了PHP 5.6宅基地)是:

  1. 通过运行git clone https://github.com/laravel/homestead.git ~/Homestead-7克隆Homestead-7文件夹(或其他名称)中的最新家园版本
  2. 进入这个目录并运行bash init.sh并回答所有问题。
  3. 而已!你可能需要升级你的流浪汉(我太老了),但只需在https://www.vagrantup.com/downloads.html上下载最新版本就很容易做到(不要忘记在Homestead-7中运行vagrant provision

0
投票

我想补充劳伦斯的答案。

在向Homestead.yml添加php5.6之后,你不能简单地做“vagrant up --provision”。不起作用。你必须通过运行命令“vagrant destroy”来实际销毁vm并重新创建vm。

所以在销毁vm之前,最好备份你在那里的每个数据库。我通过转储Code文件夹中的所有sql来完成此操作。之后我运行命令“vagrant up”后,我可以简单地ssh到我的vm并转到mysql并再次在mysql命令行中运行“source dump.sql”。

© www.soinside.com 2019 - 2024. All rights reserved.