XserverにEC-Cubeを導入しました。
web APIを使いたいが、
PHP-sodium がないため
インストールができませんでした。
探してみたところ、
さくらサーバでインストールした記録がありました。
結論と補足
PHPinfo()で、sodiumが表示されるようになりました。
しかし、EC-CUBEのWeb APIで、Oauth2.0接続を確認できてないです。
なので、こちらの方法でも、何か足りないかも知れません><
手順
他のプラグインの兼ね合いでPHP8.2でしています。
以下、参考URLの手順をまるまるパクっていますが、
wgetのバージョンが古いのかダウンロードができていません。
PCでダウンロードした後に、SFTPで入れています。
# 作業用ディレクトリの作成
mkdir -p {~/usr/local/src,~/usr/local/php/extension}
# libsodium のダウンロードとコンパイル
cd ~/usr/local/src
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.20.tar.gz
tar xzvf libsodium-1.0.20.tar.gz
cd libsodium-1.0.20
./configure --prefix=$HOME/usr/local
make && make check
make install
# PHP拡張のダウンロード&コンパイル
cd ~/usr/local/src
wget https://github.com/php/php-src/archive/php-8.2.28.zip
unzip php-8.2.28.zip
mv php-src-php-8.2.28/ext/sodium ./sodium-php-8.2.28
cd sodium-php-8.2.28
/opt/php-8.2/bin/phpize
./configure --with-php-config= /opt/php-8.2/bin/php-config --with-sodium PKG_CONFIG_PATH=$HOME/usr/local/lib/pkgconfig/ LDFLAGS=-L$HOME/usr/local/lib/
make
gmake test
インストール
Xサーバのコントロールパネルで、PHP.ini設定で、以下の1行を追加する
extension=$HOME/usr/local/php/extension/sodium.so
確認
phpinfo();
を表示させて、 sodium と表示されればOK
クライアントでも使いたい
素直に.bash_profileでPHPのAliasとして設定をする
.bash_profile
alias php='php8.2 -c ~/<ドメイン>/xserver_php/php.ini'