レンタルサーバでバージョンごとのphp実行
さくらインターネットなどのレンタルサーバでは契約ごとにphpのバージョンが指定可能です。
新たに契約したサンタるサーバであれば自由にバージョンを変更すればいいのですが、過去から利用しているものだと、phpのバージョンアップにより既存サイトに影響するなどの理由で(よく聞くのはwordpress)
バージョンが古いまま利用されていることも多々見かけます。
さくらインターネットでは管理画面からphpのバージョンを指定できるのですが、指定されたバージョン以外で処理を動かすことも可能です。
とりあえずSSHでバージョン違いの処理が動かせればいい場合など、たまに使える方法です。
現在のphpバージョン確認
レンタルサーバの管理画面にアクセスできればphpバージョンの確認が可能です。
クライアントとの関係で管理画面へのアクセスが許可されていない場合はSSHでバージョン確認をしましょう。
おなじみのコマンドです。
pph -v
5.6か、、
さくっとlaravelをインストールしようとしただけなのに大量にエラー吐いたら、大体バージョンの問題です。
まあこんなこともあります。
さくらインターネットで定義されているphpバージョン
ではさくらインターネットではどのバージョンのphpが利用できるのか。
管理画面が見れればすぐに解決するのですが、こちらも権限がない場合はおとなしくSSH
「/usr/local/php/」というディレクトリに定義されています。
cd /usr/local/php/ ls 5.2 5.3 5.4 5.6 7.4 8.0 cpanel default modules
該当のディレクトリを覗くと、このようにバージョンごとのディレクトリが並んでいます。
このなかにそれぞれのphp実行ファイルが格納されています。
実行するコマンド
本来実行しようとしていたコマンドを処理していきましょう。
元々のコマンドはこちら。composerのインストールですね。
php ../composer.phar install
変更後はこちら
/usr/local/php/7.4/bin/php ../composer.phar install
このように、phpの実行バージョンを指定してあげれば該当のバージョンで処理することができます。
これで管理画面で設定されたバージョンと異なるphpで処理を実行することができ、無事にcomposerのインストールが完了しました。
ただし、この方法ではWEBサイトにアクセスした際に実行されるphpは変わっていないため
フロントからアクセスするとエラーになります。
ディレクトリごとにphpの実行バージョンを変えるにはこちらのサイトが参考になりそう。
【さくらインターネット】特定ディレクトリだけPHPのバージョン変更する方法
まだ試していないですが、次のステップとして確認してみようかと思います。