将Laravel Homestead用于PHP5.6和PHP7项目



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

最新的 Laravel 版本包含 PHP 5.6 的 Homestead 是 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

这个宅基地版本支持 PHP 5.6 到 7.3。
(更多德语细节:https://blog.dmr-solutions.com/blog/homestead-vagrant-box-mit-php-56)

找到解决方案!我遵循了本教程。我可以运行 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
我想

添加到劳伦斯的答案中。

将 php5.6 添加到 Homestead.yml 后,您不能简单地进行"vagrant up --provision"。这是行不通的。您必须通过运行命令"vagrant destroy"来实际销毁 vm,然后重新创建 vm。

因此,在销毁 VM 之前,最好备份其中的每个数据库。我通过转储代码文件夹中的所有sql来做到这一点。稍后在我运行命令"vagrant up"之后,我可以简单地ssh到我的vm并转到mysql并再次在mysql命令行中运行"源转储.sql"。

最新更新