勉強したことのメモ

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

  関連記事

WordPress4.0の新機能

WordPress4.0への更新が出来るとダッシュボードに書いてた。 互換性で変 ...

gzip圧縮とキャッシュをhttpd.confで設定する

今まで共用サーバーで使っていたWordPressをVPSに移した。 せっかくなの ...

軽量CMSのMonstraがよさげ

WordPress便利なんだけど、メモリ1GのVPSだとWordPressだけで ...

Advanced Custom Fieldsで記事取得

WordPressでAdvanced Custom Fieldsにて設定した項目 ...

WordPressでテーマの作成

CSSとHTMLコーディングデータがあり、それをWordPressのテーマに反映 ...

WordPressでサイトが改ざんされた際の対処方法

WordPressで立ち上げたサイトがあり、しばらく放置していたが久しぶりにチェ ...

WordPressログイン時のヘッダーメニューを非表示

WordPressログイン時にフロント側のページを見るとヘッダーにメニューが表示 ...

Advanced Custom FieldsでGoogleMapの使用

Advanced Custom FieldsでGoogleMapを使用したかった ...

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

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

contact form7で500エラー

WordPressプラグインのcontact form7で送信ボタンを押し、ロー ...