広告

カラフルボックスでcomposer updateがphpのバージョンが古くてNGになったときの対処

カラフルボックスでcomposer updatePHP
この記事は約4分で読めます。

Laravel9をカラフルボックスで使って、google-api-php-clientを入れようとしたら、PHPのバージョンが7.4でエラーが出ました。

cPanel の MultiPHP マネージャーでphpバージョンを設定してもダメ

cPanel の MultiPHP マネージャーでphpバージョンを8.0にすることで、Laravel9を、cPanel から簡単にインストールできます。

問題なく動くのですが、google-api-php-clientやヘルパーをComposerで入れようとすると、phpのバージョンが7.4となってしまい、うまく入れられません。

cPanel のターミナルを使って、phpのバージョンを調べてみる

[****@*** ~]$ php -v

と入れると下記のように表示されました。****の部分は

PHP 7.4.30 (cli) (built: Jun 16 2022 05:53:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with the ionCube PHP Loader + ionCube24 v10.4.5, Copyright (c) 2002-2020, by ionCube Ltd.
    with Zend OPcache v7.4.30, Copyright (c), by Zend Technologies

システムのphpバージョンが7.4…

ということで、phpのバージョンを変えます。

home/ユーザー名/のディレクトリにbinディレクトリを作る

FTPでも何でもいいので、home/ユーザー名/binを作ります。

既にbinディレクトリがあるのなら、作成不要です。

シンボリックリンクを作る

コマンドでシンボリックリンクを作成します。

[****@*** ~]$ ln -s /opt/cpanel/ea-php80/root/usr/bin/php $HOME/bin/php

ea-php80はphp8.0を示します。

MultiPHP マネージャーのphpバージョンを参照してください。

phpバージョン

home/ユーザー名/bin ディレクトリに、phpというリンクが作成されます。

php

home/ユーザー名/.bash_profile ファイルを編集

FTPでもいいしviでもいいので、home/ユーザー名/.bash_profile ファイルを編集します。

PATH=$HOME/bin:$PATH

パスを追加します。

追加後の.bash_profile ファイル

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

# phpバージョン変更
PATH=$HOME/bin:$PATH

export PATH

編集内容を反映

ターミナルでコマンドを実行して反映させます。

[****@*** ~]$ source .bash_profile

phpのバージョンを確認

ターミナルでコマンドを実行して確認します。

[****@*** ~]$ php -v
PHP 8.0.23 (cli) (built: Sep  8 2022 13:26:09) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.23, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.23, Copyright (c), by Zend Technologies

これでphpのバージョンが8.0になりました。

Larevel9を入れたディレクトリでcomposer update

[****@*** ~]$ cd public_html/laravel
[****@*** laravel]$ composer update

としたら、無事にアップデートができました。

google-api-php-clientを入れる

最新のコマンドは、https://github.com/googleapis/google-api-php-clientを参照してください。

[****@*** laravel]$ composer require google/apiclient:^2.12.1

無事にgoogle-api-php-clientが入ったーーーー