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 。