▲TOPへ戻る

sessionのエラーを解決する方法 session_start()とsession_name()

ある日突然、sessionエラーがでる

今まで使えていたはずのphpファイルが突然、使えなくなりました。

ロリポップのユーザー専用ページでエラー表示させると、 以下のようなエラーメッセージが出ました。

PHP Warning: session_start(): open(XXXXXXXX, O_RDWR) 
  failed: Permission denied (13) in /xxxxx.php on line 8

PHP Warning: session_start(): Failed to read session data:~

Permissionがどうやら問題ありそうで、 セッションデータが読み込めないらしい。

いろいろググる

いろいろ調べると、Permissionの変更方法や、 session_save_path()を変更するなど、いろいろ出てきます。

PHP のセッション処理でエラーになる - EZ-NET 【PHP】XSERVERでセッションを開始するとエラーになる ... 【php】session_start()でエラー

ターミナルを開いて、慣れない黒い画面に向き合ってPermissionを変更しようとしても、 権限がないといわれ、session_save_path()を変えようとしても、そんなフォルダは存在しないとか。 いろいろ試してみるも、全くページは動いてくれません😿 もはや自分の力では無理かとあきらめかけた時、何とか動かすことができました。

今回の解決方法

ひとつのサーバーに2つのドメイン、さらにいくつかのディレクトリでsessionを開始していたために エラーが出たのではないかと考えられます。

以下のように、session_start();を宣言する前に、 session_name("xxxxx"); (任意で名前をつける)をしていすることにより、 別々のsessionをそれぞれのページで開始することができるようです。

session_name("xxxxx");
session_start();

こんな記事も読まれています。

profile

パソコン好きなガオ

コロナ禍によるステイホームを機にプログラミングを学ぶ。パソコンに関してはプロではないが、ちょっと詳しい程度。

パソコン

javascript

カメラ

ブログ