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();
こんな記事も読まれています。
-
【HTML】【CSS】【javascript】電卓の作り方
電卓のソースコードを2つ紹介します。javascriptはわずか数行で書けます。
-
【JacvaScript】【CSS】たった4行のJavaScriptでできるハンバーガーメニューの作り方
たった4行のJavaScriptで作るハンバーガーメニューの作り方について紹介します。✖をつくるには、transform-originがポイントです。
- リンク
-
波紋エフェクトを表現するjqueryのripples-min.jsの使い方
jqueryのripples-min.jsを使うと簡単に水面の波紋を表現できます。波紋の広がりの速度、波紋の大きさ、波紋のブレの値を変えていろいろ表現させると面白いです。
-
【Javascript】querySelectorAllで要素を取得し、クリックしたら、クラスを追加したり、削除したりする方法。
JavascriptのquerySelectorAllで要素を取得し、クリックしたら、クラスを追加したり、削除したりする方法について解説します。querySelectorと同じように書いてしまうとエラーがでます。forEachを使うとすべてに適用できます。
- リンク
-
要素の高さを取得する方法。getBoundingClientRectとは?window.innerHeightとは?window.pageYOffsetとは?
要素の高さを取得する方法について解説します。getBoundingClientRect、window.innerHeight、window.pageYOffsetについて理解し、要素がいつ画面に現れるかを把握できるようにしましょう。
-
Javascriptを使ったページネーションの実装
トップページの記事が増えてきたので、何とかページネーションで最新の記事だけを表示できないかと思っていたら、いい記事を発見しました。カスタマイズして実装することができました。
- リンク
-
【Javascript】マウスの指す(X, Y)座標とドラッグ & ドロップを理解する
マウスの指す(X, Y)座標とドラッグ & ドロップについて解説します。mousedown, mouseover, mousemove, mouseupを使います。
-
【javascript】連想配列をテーブルできれいに表示する方法
javascript(Object.entries)を使って、連想配列の中身をテーブルできれいに表示する方法について紹介します。
- リンク