勉強したことのメモ

webプログラマが勉強したことのメモ。

WordPressと別プログラム間でSESSIONが引き継げない

      2020/06/19

同一サーバ内に自作したプログラムとWordPressを設置しており両者でセッションを引き継ぎたかった。ただ、WordPressのテーマフォルダ内functions.phpへsession_start()を追記する形でも引き継げなかった。以下に対処方法のメモ。

 

.user.iniファイルが設置されていた

先に原因と対処法を書く。WordPressのディレクトリ直下に.user.iniというファイルが設置されており、ファイル内にsession.save_pathの記述があり、セッションの保存先が定められていた。

自作プログラム内とのセッションの保存先が異なっていた為、引き継げなかったものと思われる。

.user.iniを削除するかsession.save_pathの記述を変更、もしくはコメントアウトで解決する。今回は.user.iniを削除した。

 

通常の解決策

通常であればWordPressテーマフォルダ内のfunctions.phpに以下を追記すればセッションの引継ぎを行える。

 

なぜ.user.iniファイルが設置されたのか

今回の現象が発生したサーバはエックスサーバーだった。比較的よく使用するサーバで、また、同じような構成(自作プログラムとWPの併用)で開発したことも何度かあったが今回の現象は初めてだった。

違う点として今まではWPを手動で設置していた。データベースを作成しWPファイルをFTPでアップロードするという形をとっていた。

しかしながら今回はエックスサーバの契約時点でWPを自動インストールしたものをクライアントからいただいていた為、恐らくは自動インストールした場合.user.iniが入ってくるんじゃないかと思われる。

 

思ったこと

セッションが引き継げない場合に保存先を疑うという考えを持っていなかったので解決するまで非常に時間がかかった。

今後は保存先にも注意する。

 - CMS, WordPress

  関連記事

WordPress5のエディタを元に戻す方法

WordPress5にアップデートしたところ記事投稿ページのエディタが非常に使い ...

WordPressで自動でmetaタグのkeywordsとdescriptionを表示

metaタグのkeywordsとdescriptionにて、基本的にはAll i ...

WordPressで閲覧者にテーマを変更させるプラグイン

「新規サイトを○○みたいなイメージでWordPressのテーマを見繕って欲しい」 ...

WordPressでコンテンツ内に広告を差し込む方法

WordPress内でヘッダーやフッターではなく、コンテンツ内に広告を差し込みた ...

Advanced Custom Fieldsでチェックボックスの記事を取得

Advanced Custom Fieldsでチェックボックス設定しているカスタ ...

contact form7で送信時に別サーバへデータ送信

contact form7でフォーム送信時に別サーバーでフォーム内容をPOST送 ...

WordPressで店舗用サイトを作るときに使えそうなテーマ

WordPressで店舗用のサイトを作る際に使えるかも、というテーマがいくつかあ ...

WordPressのユーザー画像とプロフィール

WordPressでユーザー毎に画像とプロフィール部分にHTMLタグを登録したか ...

youtubeの検索結果をWordPressに自動投稿する方法

youtubeから特定のキーワードで検索した動画をWordPressに自動で投稿 ...

WordPress記事本文の文字検索と置換方法

WordPressの記事本文内にhogeという文字列が含まれていた場合、hoge ...