Homestead 安装 PHP7 但我需要 PHP5

Homestead Installed PHP7 but I need PHP5

Homestead 随机停止为我工作,所以我尝试删除整个东西并重新安装,但效果不佳。

我在一天半的时间里摸索着解决了各种问题后,"running" 有了它。但是,由于我无法理解的原因,我的 Homestead 盒子现在是 运行 PHP 7.

The instructions 我关注的是 optional 安装 PHP 7 的选项,但我故意跳过了它,因为我们在 PHP 5 .

我这辈子都不知道如何解决这个问题。我尝试过的事情:

寻找解决方案一直导致死胡同。

我只是一个虚拟的前端开发人员。 :) Laravel、Vagrant、Homestead,所有这些东西让我头疼。我只是想让它再次工作,这样我就可以回到我的实际工作中了。任何研究此问题的建议或替代途径将不胜感激。

我也遇到过这个问题,我通过安装旧的 homestead box v0.3.3 解决了这个问题,我使用的是旧版本的 homestead 安装程序,所以我建议您删除当前的 box v0.4.0并删除您的宅基地文件夹,然后执行此操作:

$vagrant box add laravel/homestead --box-version 0.3.3

然后从 git 下载旧版本的 Homestead 安装程序,我正在使用 v2.1.8 它工作正常。 享受 php 5.6 :)

我有一个类似的问题,我尝试将 Homestead 升级到最新的 Homestead 7.0 盒子并将其配置为 运行 PHP 5.6 而不是 PH7,各种消息来源说这可以通过添加指定 PHP 版本的 .yaml 文件的一行。

sites:
- map: myproject.local
  to: /home/vagrant/Code/craven/public_html
  php: "5.6"

当我尝试这样做时实际发生的是我收到 502 CGI 网关错误。以下是我必须采取的修复步骤的摘要:

1) SSH 进入 Homestead 虚拟机。

ssh vagrant@127.0.0.1 -p 2222

查看 /var/log/nginx/ 中的 nginx 错误日志显示服务器正在查找的 PHP 5.6 文件不存在。

您可以通过查看可执行文件来确认这一点。

ls -la /usr/bin/php*

2) 安装 PHP 5.6, 运行

sudo apt-get update
sudo apt-get install php5.6-fpm

可以通过命令

确认php5.6服务运行ning
service --status-all

3) 一切正常后,刷新您网站的网页,它现在应该可以正常工作了。在我的例子中,因为我正在 运行 宁一个 Laravel 4.2 站点,我然后安装 Mcrypt:

sudo apt-get install php5.6-mcrypt

4) 为了启动我的 mysql 数据库并 运行ning,我还必须安装 mysql.

sudo apt-get install php5.6-mysql

当然,在这之后,我必须 re-import 在升级 Homestead 框之前导出的文件中的数据库内容。

请注意,如果您曾经销毁并重新创建 Homestead 盒子,则需要再次重复所有这些步骤。