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に関するエラーが発生していると他のプラグインをインストールする際にもエラーとなってインストールができません。

エックスサーバーのようなレンタルサーバーでは、自分でモジュールを導入しない限りAPIプラグインを利用できません。
APIプラグインをアンインストールすることでエラーが解消されるかと思います。
日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEに関するお問い合わせ


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ