#FuelPHP1.8.2でSession(file)が動かない
FuelPHPの最新Verである1.8.2を試してみると、セッションが全く動かない事実に気づいた。
環境はPHP5.4。Windowsの開発マシンで、将来的にはCentOS7で稼働させる予定のお話です。
どんなにSessionに情報を保存して保存されない。
ていうかCookie見てみるとSessionの情報がくっついてきてないのね。
ちなみにセッションの種別は"file"。
んで、ログを見ると、
ERROR - 2019-10-15 19:02:02 --> shutdown - Fuel requires Sodium support in PHP. Either use PHP 7.2+, install the libsodium PECL extension, of the sodium-compat composer package! in C:\xampp\xxxxxxxxxx\vendor\paragonie.php on 33
なんてエラーが出てる。
ログに出るだけで画面がエラー吐くわけではないので、このログを見つけるまでに30分ぐらい。
言われたライブラリ"libsodium"を使おうとしたけど、なんかPHP5.5以上のバージョンしかないw
PHP5.4対応がウリのフレームワークちゃうんかいww
続いて"paragonie/sodium_compat"をcomposerで入れてみた。
入った。
だが何故かダウングレードしていくFuelPHPの各ライブラリ。Why。
#どうしたのか
とりあえず、ダウンロードしてきたparagonie/sodium_compatとrandom_compatを手動でfuel/vendorに張り付けて、fuel/app/bootstrap.phpに手動でオートロードを書く。
require APPPATH ."../vendor/paragonie/random_compat/psalm-autoload.php";
require APPPATH ."../vendor/paragonie/sodium_compat/autoload.php";
これで動きました。
詳しくは知らないけど、悩んでる人がいたら参考にどうぞ。
#愚痴る
しかし1.8.0.x⇒1.8.1で急にDB結果を配列で扱えなくなったり(IFが飛んでる)、セッションの関数が消されたり(Session::writeとかね)と、正直あまりにもリビジョン上げるのにこれはないんじゃない感が半端ないわ。。。
配列で扱えるように修正されたので、1.8.2に手を出してみたけど、やっぱ……ちょっと今後お付き合いしていく上で不安は隠せませんね。。。