homestead切换php版本,Homestead 中有多个 PHP 版本,如何切换版本?

Homestead.yaml 配置

通常, cd ~/Homestead 进入到 Homestead配置目录,编辑(vim Homestead.yaml),增加或删除站点。比如:

folders:

- map: ~/Code/work

to: /home/vagrant/work/

- map: ~/Code/study

to: /home/vagrant/study/

sites:

- map: larabbs.com

to: /home/vagrant/study/larabbs/public

- map: mlxiu.com

to: /home/vagrant/work/mlxiu.com

这个配置是第一步。

找到 php.ini 还有 nginx

先找存在的 php 版本

php -i|grep php.ini

# /etc/php/7.2/cli/php.ini 可以看到是这里

cd /etc/php

ls

# 你会发现这里有 **5.6 7.0 7.1 7.2** 四个大版本的 php

再来看看 nginx,因为缘起还是 nginx 来配置。

cd /etc/nginx/

cd sites-available

# 当然,可以一步到位 cd /etc/nginx/sites-available

ls

# 你会看到这里有两个文件,文件名就是 Homestead.yaml 中配置的域名

# 这里是 larabbs.com , mlxiu.com 这两个文件

假如想将 larabbs.com 这个站点使用的 php 版本切换到 5.6, 只需要修改 larabbs.com 配置。

location ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

# fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;

fastcgi_index index.php;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

修改后,保存。

创建测试文件,在 larabbs/public 下新建 t.php

cd ~/study/larabbs/public

vim t.php

# 输入 <?php phpinfo(); 保存,待重启后使用

重启 homestead

vagrant provison

vagrant reload

vagrant ssh

本地访问: http://larabbs.com/t.php,就会看到 php 的版本了。也许,你已经看到 php 的版本已经到 5.6 了。可是有坑。

有坑

当你几个站点的 php 版本不一样时,关闭 homestead,再启动时,就会有错误。

关掉 homestead,再进入时,你会发现一个 502 Bad Gateway 的错误。

# 操作

exit

vagrant halt

vagrant up

在 /var/run/php/ 目录下,也根本没有 php5.6-fpm.sock 。然后,想重启 php-fpm

/etc/init.d/php-fpm5.6 restart

# 发现只会重启失败

那么,那么,将所有站点的 php 版本都配置成 一样 的 就不会出现问题。暂时,配置的 php 最高版本是 7.2,最低是 5.6 。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值