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

时间:2017-01-23 10:57:48

标签: php laravel vagrant homestead

在办公室,我们使用Homestead作为我们的本地开发环境。到目前为止我们所有的项目都是用PHP5.6制作的。现在我们有一个新项目,我们将使用PHP7。我无法在我目前的PHP5.6家用机中运行PHP7。如何实现运行PHP5.6和PHP7项目?它们不必同时运行,因此如果可以更改var path="Data Dictionary/***"; var documentLibrary = companyhome.childByNamePath("path"); var children = documentLibrary.children; traverse(children); function traverse(nodes){ for each(var node in nodes) { if (node.isContainer){ logger.log(node.name + " is a folder, traversing down"); traverse(node.children); }else { logger.log(node.name ); logger.log(node.size); } } } 以使用更新的版本,那就没问题了。

我已经尝试过的是运行Homestead.yaml。这添加了1.0.1框,但是当我将vagrant box add laravel/homestead --box-version 1.0.1添加到我的version: 1.0.1并开始流浪时,PHP版本仍然是5.6。

4 个答案:

答案 0 :(得分: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

答案 1 :(得分: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版本支持PHP 5.6至7.3。
(更多详细信息,德语:https://blog.dmr-solutions.com/blog/homestead-vagrant-box-mit-php-56

答案 2 :(得分:1)

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

  1. 通过运行git clone https://github.com/laravel/homestead.git ~/Homestead-7
  2. 在Homestead-7文件夹(或其他名称)中克隆最新的宅基地版本
  3. 进入此目录并运行bash init.sh并对所有问题回答“否”。
  4. 那就是它!您可能需要升级您的流浪者(我的年龄太大)但只需在https://www.vagrantup.com/downloads.html上下载最新版本即可轻松完成(不要忘记在Homestead-7中运行vagrant provision

答案 3 :(得分:0)

我想在Laurence的答案中加点。

在将php5.6添加到Homestead.yml后,您不能简单地进行“无用的--provision”。不起作用。您必须通过运行命令“ vagrant destroy”实际破坏虚拟机,然后重新创建虚拟机。

因此,在销毁虚拟机之前,最好备份其中的每个数据库。我通过转储Code文件夹中的所有sql来做到这一点。稍后,当我运行命令“ vagrant up”后,我可以简单地将ssh切换到我的vm并转到mysql,然后在mysql命令行中再次运行“ source dump.sql”。