虽然有 docker , 但还是喜欢用 homestead 开发环境。这个时候,一些旧的项目可能会用到比较低版本的 php,这个时候切换 php 版本就是一个常用的操作。
使用 php 版本
homestead 环境中,项目使用 php 的哪个版本,可以在 Homestead.yaml 文件中进行配置。比如:
sites:
- map: work.xiangrong.com
to: /home/vagrant/code/zhoulin/work.xiangrong.com/public
php: "7.4"
这里指定好 php 版本就好。
但是,当 homestead
环境中当前使用的 php
版本是 php 8
或 php 5.6
这些。使用 composer
或项目本身就有可能报错。这个时候,我们就需要将 homestead
环境的 php
版本切换的和项目所配置的一样。
补充
如果切换成对应的 php 版本还会出 badgateway
这样的错误,可以试着重启 php 看看。
# 这里以 php 7.4 为例
sudo /etc/init.d/php7.4-fpm restart
操作
# 查看当前环境中的 php 版本
php -v
# 查看所有 php 版本和当前版本
sudo update-alternatives --display php
# 执行后,会列出当前 php 所有版本和编号,输入编号,切换到执行的版本
sudo update-alternatives --config php
其实
其实,想切换到某个 php 版本。直接输入就可以了,也不用向上边那样敲那么长的命令。 比如,想切换到 php7.4 版本。直接输入 php74 回车即可。同理,想切换到 php8.2 版本,直接输入 php82 回车即可。这些命令,可以在 Homestead 目录下的 aliases 文件中找到。
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
}
function php74() {
sudo update-alternatives --set php /usr/bin/php7.4
sudo update-alternatives --set php-config /usr/bin/php-config7.4
sudo update-alternatives --set phpize /usr/bin/phpize7.4
}
function php80() {
sudo update-alternatives --set php /usr/bin/php8.0
sudo update-alternatives --set php-config /usr/bin/php-config8.0
sudo update-alternatives --set phpize /usr/bin/phpize8.0
}
function php81() {
sudo update-alternatives --set php /usr/bin/php8.1
sudo update-alternatives --set php-config /usr/bin/php-config8.1
sudo update-alternatives --set phpize /usr/bin/phpize8.1
}
function php82() {
sudo update-alternatives --set php /usr/bin/php8.2
sudo update-alternatives --set php-config /usr/bin/php-config8.2
sudo update-alternatives --set phpize /usr/bin/phpize8.2
}
今天五月一日。