如何在 Vagrant 和 Homestead 中回滚 PHP 版本?

0 php vagrant laravel homestead

因此,我的公司正在使用 PHP 和 Laravel 为客户进行软件开发。我是公司的新手,正在使用 VirtualBox、Laravel 使用 Homestead 和 Vagrant 设置更新的 Macbook。

我已经设置好所有内容,以便能够创建本地文件并将它们也绑定到 VM,但是每当我们尝试使用本地主机打开页面时,它都会给我们错误消息“Laravel 需要 Mcrypt PHP 扩展”。

我已经将我们所有的内部文件迁移到我的本地机器上,以便能够在本地打开它们,但是即使能够在终端中看到它们,我也无法打开它们。它在其他开发人员的 Macbook 上运行良好,尽管他使用的是旧版本的 PHP 和 Laravel。

我的问题是我找不到相关问题,我是否可以安装旧版本的 laravel 和 PHP,以便能够强制我的 VM 项目仅使用 PHP 7.0 版打开?我发现一些帖子表明 PHP 7.1+ 不再支持 mcrypt。

请包括您知道的任何相关信息。我们昨天和今天一整天都在反对这个问题。如果这篇文章看起来很菜,我很抱歉。我只是想不通。

***编辑:我们今天弄明白了。我们不得不将我们的项目强制转换为 PHP 7.0 并最终使其工作。我们删除了整个原始 Laravel 安装并使用本教程重新安装:https ://medium.com/@gdiasdasilva/creating-a-homestead-box-with-php-7-0-aaa72fb0e297

谢谢你们的回应。谢天谢地,两天后,我们努力解决了这个问题。最大的问题是试图允许在另一台使用不同版本 PHP 的机器上创建的项目在我的机器上打开并运行。这不是我以前在任何地方见过的问题。公平地说,这是我第一次使用 Laravel。我有 ASP.NET MVC 5 的背景,这是对获取正确依赖项的调整。

再次感谢大家的回复!***

Cam*_*ilo 6

您可以在Homestead.yaml文件中指定 PHP 版本:

sites:
    - map: homestead.test
      to: /home/vagrant/code/Laravel/public
      php: "7.0"
Run Code Online (Sandbox Code Playgroud)

进行此更改后,您需要重新配置 Homestead:

vagrant reload --provision
Run Code Online (Sandbox Code Playgroud)

请参阅文档中的多个 PHP 版本部分。