2020年10月8日木曜日

FuelPHP1.8.2のSessionをレンサバで動かす

特に1.8.2はPHP7.3に対応してくれているのでFuelPHPで結構サイトを作成していたものとしては助かります。

個人的にはORMの方は問題なかったのですが、Session周りで困ったことが起こりました。
こんなエラーメッセージがログに残ります。


shutdown - Fuel requires Sodium support in PHP. Either use PHP 7.2+, install the libsodium PECL extension, of the sodium-compat composer package!


1.8.2でSessionでsodiumというのを利用するようになってまあそれがないという事なんですが、windowsとかroot持っているサーバなんかだとphp_libsodium.dllとかlibsodiumとかを入れて対応できたんですが、レンタルサーバではこのあたりの対応ができず動かない。

composerもうまくいかない。

ネットの知見を探して...ありました。

こちらのサイトを参考にさせていただいて事なきを得ました。

https://qiita.com/ookishin2018/items/5d17f75f8fdad4d8fa04


手順は以下の通りです。


githubからparagonie/sodium_compatをダウンロード

https://github.com/paragonie/sodium_compat


fuel/app/vender/にディレクトリ「paragonie」を作成して、解凍したsodium_compat-masterをsodium_compatにして設置


fuel/app/bootstrap.phpにautoload.phpを追加

require APPPATH ."vendor/paragonie/sodium_compat/autoload.php";


これでSessionが動きました。



sodium_compatの設置場所はfuel/vender/paragonie/にして、fuel/bootstrap.phpに「require COREPATH ."vendor/paragonie/sodium_compat/autoload.php";」とか書いたほうがいいかもしれないですね。



0 件のコメント: