KUSANAGI 9でPHPのバージョンを切り替えられない場合の対処について

AI利用について 当サイトでは、記事作成・編集・画像制作等の一部に生成AIを使用しています。掲載内容は運営者が確認・編集しています。

KUSANAGI 9でPHPのバージョンを変更しようとしたところ、依存関係のエラーが発生して切り替えられなくなりました。
AIで調べようかとも思ったのですが、残念ながらKUSANAGIに関してAIはアテにならないことが多い。
(KUSANAGI8と9で情報が混在している上に、ネット上では8の情報が目立つため)

なので、KUSANAGIフォーラムを直接見てみることにしました。

もしも似た症状があったら儲けもの……おおっ!

まったく同じではないものの、PHPのバージョンが変更できない点は同じ。
これをヒントに解決してみました。

天満川鈴 WRITTEN BY 天満川鈴
スポンサーリンク

症状

PHP 8.3からPHP 8.5へ変更するため、

kusanagi php --use php85

を実行したところ、依存関係のエラーが発生しました。

エラーの中心は以下です。

Problem: problem with installed package kusanagi-php83-devel

最終的には、

dnf -y swap kusanagi-php83 kusanagi-php85

が失敗し、PHPを切り替えられない状態になっていました。

まずDNFのキャッシュとパッケージを更新する

過去にもDNFのキャッシュやパッケージの依存関係が原因となった事例があるため、まず以下を実行しました。

dnf clean all
dnf makecache --refresh
dnf upgrade

必要であれば、依存関係も確認できます。

dnf check

私の環境では、これによってエラーは減りましたが、まだPHPの切り替えには失敗しました。

kusanagi-php83-devel が切り替えを妨げていた

残ったエラーを確認すると、

kusanagi-php83-devel

がPHP 8.3本体に依存しており、PHP 8.5への切り替えを妨げていました。

まず、削除した場合の影響を確認します。

dnf remove –assumeno kusanagi-php83-devel

私の環境では、WordPressの実行に必要なPHP本体などが削除されることはありませんでした。
ただし、通常の dnf remove では、不要になった開発用依存パッケージもまとめて削除対象になる場合があります。

今回は変更範囲を最小限にするため、

dnf remove –noautoremove kusanagi-php83-devel

として、kusanagi-php83-devel のみを削除しました。

PHPを再度切り替える

その後、改めて

sudo kusanagi php --use php85

を実行すると、正常にPHP 8.5へ切り替えることができました。

切り替え後は、

php -v

または、

kusanagi status

で状態を確認できます。

まとめ

私の環境では、これでうまくいきました。
読者様の環境で直るとは限りませんが、フォーラムの回答とあわせてヒントにはなると思います。

試してみてください!

スポンサーリンク
天満川 鈴のプロフィール画像
WRITTEN BY

天満川 鈴

未経験からWEB業界に入り、現在はWEBディレクターとして実務に従事。要件整理・導線設計・コンテンツ構成などを学びながら、日々改善を重ねています。AIを活用したコンテンツ制作・効率化を強みとし、プロンプト設計を含めた制作フローの最適化にも取り組んでいます。

詳しいプロフィールはこちら

KUSANAGI ON VPS

VPSは、もう「黒い画面」だけじゃない。

「VPSは難しそう」と諦めていませんか? ConoHaのKUSANAGIなら、ブラウザ上の管理画面(KUSANAGI Manager)で、ドメイン設定からSSL発行まで直感的に操作可能です。

コマンド操作なしで世界最速級の環境を構築できる、今の時代の初心者にとっての最適解。私が長年愛用している理由がここにあります。

※当サイト経由で新規申し込みいただくと、特典として1000円分のクーポンをもらえます。

公式サイトで詳細を見る
× 閉じる