LaravelやCakePHPをはじめとしたパッケージ管理でcomposerは必須になりました。
レンタルサーバー上でコマンド版のPHP(CLI)バージョンが古いとインストールできない事があるので、変更方法をメモします。
ターミナルを起動
RLoginやPutty等のSSHクライアントでも、VScodeでも、お好きなものでOKですが、今回はブラウザ管理画面のcPanelにデフォルトで搭載されている ターミナル(Terminal)を使います。インストール不要・SSH鍵の準備なども不要でラクチンです。
cPanel >詳細 >Terminal
初回は「下手に弄るとシステム壊すから用心すべし」といった趣旨の表記が出ますので「OK」を押します。見慣れた(?)黒い画面が出てきますので、「ls」とでも打って動作確認します。
カラフルボックスのデフォルト環境
コマンドで確認すると、2023年12月で・・・
・PHP(CLI) 7.4.30
・composer 2.6.5
$ php --version
PHP 7.4.33 (cli) (built: Dec 7 2023 10:18:27) ( 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.33, Copyright (c), by Zend Technologies
$ composer --version
Composer version 2.6.5 2023-10-06 10:11:52
Lalavel9や10はPHP8.0や8.1が必要なので、PHPのバージョンを上げる必要があります。
カラフルボックスで使えるPHPバージョンを確認
カラフルボックスのPHPは /usr/local/bin に配置されています。インストール済みのバージョンを確認します。
#2023年12月末時点
#画面アクセス時に使えるPHP
$ ls /usr/local/bin
ea-php53 ea-php54 ea-php55 ea-php56
ea-php70 ea-php71 ea-php72 ea-php73
ea-php74 ea-php80 ea-php81 ea-php82
lsphp php
#コマンド実行時に使えるPHP
$ ls /opt/cpanel
composer ea-libicu ea-oniguruma ea-php53 ea-php56 ea-php72 ea-php80 ea-profiles-cloudlinux libargon2 libtidy
ea-apr16 ea-libxml2 ea-openssl ea-php54 ea-php70 ea-php73 ea-php81 ea-profiles-cpanel libcurl nghttp2
ea-brotli ea-libzip ea-openssl11 ea-php55 ea-php71 ea-php74 ea-php82 ea-ruby27 libmcrypt
ea-phpXXが使えるPHPのバージョンです。お目当ての8系は2023年12月末時点では8.2まで使えるようです。
ここから、シンボリックリンクを作成して、カラフルボックスのサーバ上でPHPコマンドやcomposerコマンドを使った時にphp8.2が適用されるようにします。
home/ユーザー名/ のディレクトリに bin ディレクトリを作る
コマンドでも、FTPでも、ファイルマネージャでもなんでもいいので、ユーザーディレクトリ直下にbinディレクトリを新規作成します。
既にbinディレクトリが作成済みでしたら、この操作は不要です。
#ユーザーディレクトリ直下に移動(契約ユーザ―名がuser1234の場合)
$ cd
/home/user1234
#こんな感じになってるはず
$ ls
access-logs etc logs lscache mail public_ftp public_html ssl tmp www
# bin ディレクトリを新規作成
$ mkdir bin
# bin ディレクトリができたか確認
$ ls
access-logs bin etc logs lscache mail public_ftp public_html ssl tmp www
cPanelのファイルマネージャで見ると bin ディレクトリができています。
bin ディレクトリ内にシンボリックリンクを作る
コマンドでシンボリックリンクを作成します。今回はphp8.2を指定します
#シンボリックリンクを作成(php8.2)
$ ln -s /opt/cpanel/ea-php82/root/usr/bin/php $HOME/bin/php
ちなみに後から別のバージョンにしたいときは「-f」上書きオプションを付けます。
#シンボリックリンクを変更(php8.1)
$ ln -fs /opt/cpanel/ea-php81/root/usr/bin/php $HOME/bin/php
/home/ユーザー名/bin ディレクトリ内に PHP というファイルができます。
home/ユーザー名/.bash_profile ファイルを編集
「.bash_profile 」ファイルを編集します。ここではcPanelのファイルマネージャの設定を変更して隠しファイルを表示し、ブラウザから変更します。
もちろん、viでも、vscodeでも、FTPでダウンロードして編集してもOKです。
右クリックから、Editを指定して開きます
ここに記述します。
# .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 --version
#こちらでもOK
$ php -v
#7.4 → 8.2 に変更されている
PHP 8.2.13 (cli) (built: Dec 7 2023 10:41:18) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.13, Copyright (c) Zend Technologies
with Zend OPcache v8.2.13, Copyright (c), by Zend Technologies
これで完了です。