宅基地 PHP 版本错误

Homestead PHP Version Wrong

我正在尝试为 Laravel 5.4.36 制作一个 vagrant homestead 服务器。这样我就可以在本地练习将我的主网站升级到最新的 laravel 版本。

服务器正常启动,但我是expecting/needPHP7.0版本。相反,当我在 SSH 终端中键入 "php --version" 时,我得到了版本 7.2.3。文档说 homestead 5.2.0 应该安装 PHP 7.0 版,但事实并非如此。 (https://laravel.com/docs/5.2/homestead)

正在键入 "php artisan --version" returns 预期的 5.4.36 laravel 版本...

关于如何解决这个问题的想法?是否可以降级 php 版本并指定 7.0?

这是我的 Homestead.yaml 文件...

ip: 192.168.10.10
memory: 2048
cpus: 2
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
version: 5.2.0
keys:
    - ~/.ssh/id_rsa
folders:
    -
        map: 'C:\Users\Rick\Desktop\MyWebsite'
        to: /home/vagrant/code
sites:
    -
        map: mywebsite.test
        to: /home/vagrant/code/public
    -
        map: sub.mywebsite.test
        to: /home/vagrant/code/public
databases:
    - homestead
    - mywebsite
features:
    -
        mariadb: false
    -
        ohmyzsh: false
    -
        webdriver: false
name: mywebsite
hostname: www.mywebsite.test

Homestead 有多个版本的 PHP。如果您查看 ~/.bash_aliases,您应该会看到几行如下所示:

function php70() {
    sudo update-alternatives --set php /usr/bin/php7.0
    sudo update-alternatives --set php-config /usr/bin/php-config7.0
    sudo update-alternatives --set phpize /usr/bin/phpize7.0
}

function php71() {
    sudo update-alternatives --set php /usr/bin/php7.1
    sudo update-alternatives --set php-config /usr/bin/php-config7.1
    sudo update-alternatives --set phpize /usr/bin/phpize7.1
}

function php72() {
    sudo update-alternatives --set php /usr/bin/php7.2
    sudo update-alternatives --set php-config /usr/bin/php-config7.2
    sudo update-alternatives --set phpize /usr/bin/phpize7.2
}

function php73() {
    sudo update-alternatives --set php /usr/bin/php7.3
    sudo update-alternatives --set php-config /usr/bin/php-config7.3
    sudo update-alternatives --set phpize /usr/bin/phpize7.3
}

在命令行中输入php70,它会切换命令行版本。

对于网络版本,您需要手动更新 nginx 配置文件或将 PHP 版本添加到映射中:

 map: mywebsite.test
 to: /home/vagrant/code/public
 php: "7.0"

您必须销毁盒子并重新启动它才能让它重新加载 Homestead 文件。

使用最新的 Homestead,您可以执行以下操作:

在您的 Homestead.yaml 中,您可以为每个站点指定一个 PHP 版本。

  sites:
    -
        map: mywebsite.test
        to: /home/vagrant/code/public
        php: "7.1"
    -
        map: sub.mywebsite.test
        to: /home/vagrant/code/public
        php: "8.0"

如果这不起作用,您还可以通过在 Homestead 虚拟机中发出以下任何命令来更改 CLI 使用的默认版本 PHP:

php56
php70
php71
php72
php73
php74
php80

例如。在命令行中输入 php71 以将 Homestead PHP 版本更改为 PHP 7.1

这将根据您指定的 PHP 版本更改您的 Homestead 环境。 您可以参考 Official Documentation 了解更多信息。