EC-CUBE4のAPIプラグインはleague/oauth2-serverというライブラリを使用します。
league/oauth2-serverは lcobucci/jwt ライブラリを必要としていて、ここでphpのsodium拡張モジュールが必須になっています。
クラウドであれば自分でsodiumをインストールして解決ですが、レンタルサーバーだと制約があるため複雑な導入手順を踏む必要があります。(SSH接続が必須です)
さくらのレンタルサーバーやエックスサーバーでも自分でsodiumをインストールすることで使用が可能ですが、レンタルサーバーの仕様変更に影響を受けてしまうため、APIプラグインを使用したい場合はクラウドサーバーを検討する方が良いですね。
参考サイト さくらのレンタルサーバにPHP-sodium 拡張を入れようと思ったらてこずった話(解決編)
sodiumがない場合の出力エラー
Problem 1
– lcobucci/jwt 4.2.1 requires ext-sodium * -> it is missing from your system. Install or enable PHP’s sodium extension.
– league/oauth2-server-bundle v0.3.0 requires league/oauth2-server ^8.3 -> satisfiable by league/oauth2-server[8.3.5].
– ec-cube/api42 4.2.3 requires league/oauth2-server-bundle ^0.3 -> satisfiable by league/oauth2-server-bundle[v0.3.0].
– league/oauth2-server 8.3.5 requires lcobucci/jwt ^3.4.6 || ^4.0.4 -> satisfiable by lcobucci/jwt[4.2.1].
– ec-cube/api42 is locked to version 4.2.3 and an update of this package was not requested.
sodiumに関するエラーが発生していると・・
APIプラグインが利用できないだけなら良いのですが、sodiumに関するエラーが発生していると他のプラグインをインストールする際にもエラーとなってインストールができません。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。