宅基地 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 了解更多信息。
我正在尝试为 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 了解更多信息。