Homestead 升級PHP版本

gyp719 發表於 2021-04-06
PHP

前言

我的 Homestead 版本還是比較老了,其中 PHP 的版本最高只支援到 PHP7.2,又不想更新 Homestead 所以準備裝個 PHP7.4 了。

  1. 檢視PHP版本
    vagrant ssh 進入虛擬機器,php -v 檢視PHP版本, 我的是PHP7.2
  2. 檢視所有 php 版本和當前版本
    update-alternatives --display php
    php - manual mode
    link best version is /usr/bin/php7.2
    link currently points to /usr/bin/php7.2
    link php is /usr/bin/php
    slave php.1.gz is /usr/share/man/man1/php.1.gz
    /usr/bin/php5.6 - priority 56
    slave php.1.gz: /usr/share/man/man1/php5.6.1.gz
    /usr/bin/php7.0 - priority 70
    slave php.1.gz: /usr/share/man/man1/php7.0.1.gz
    /usr/bin/php7.1 - priority 71
    slave php.1.gz: /usr/share/man/man1/php7.1.1.gz
    /usr/bin/php7.2 - priority 72
    slave php.1.gz: /usr/share/man/man1/php7.2.1.gz
  3. 安裝PHP7.4
    更新源
    sudo apt update
    安裝
    sudo apt-get -y install php7.4-mysql php7.4-fpm php7.4-mbstring php7.4-xml php7.4-curl
    執行後,會列出當前 php 所有版本和編號,輸入編號,切換到執行的版本
    sudo update-alternatives --display php

Homestead 升級PHP版本

切換完版本後,我們輸入 php -m 可以發現少了很多 Laravel 必要的擴充套件, 那麼我們可以使用 sudo apt install php7.4-mbstring命令安裝其餘需要的擴充套件

  1. 重啟虛擬機器
    vagrant reload --provision

tips:
此時執行 laravel 專案 可能會出現 許可權問題

The stream or file “/vagrant/storage/logs/laravel-****-**-**.log” could not be opened: failed to open stream: Permission denied

修復方法

sudo vi /etc/php/7.4/fpm/pool.d/www.conf

change:

user = www-data
group = www-data

to

user = vagrant
group = vagrant

Then:

sudo service php7.4-fpm restart
本作品採用《CC 協議》,轉載必須註明作者和本文連結