投稿

Gianismはセッションが必須ですが、いくつかのサーバーでは有効になっていません

Gianismはセッション必須です。

PHPはセッションをサポートしているので、継続的なユーザー認証にセッションを利用するのは普通です。

しかし、WordPressはログインにセッションを利用しません。それ自体は構わないのですが、結果として、幾つかのホスティング業者(特にWordPressに特化したところ)はセッションを有効にしていません。

たとえば、このフォーラムの質問ではKUSANAGIの設定によって引き起こされたエラーについて言及されています。

なので、セッションを有効にしてください。以上です。

セッションの動作を確認する方法

PHPでセッションが動作しているかを確認するには、次のようなスクリプトをsession.phpとしてサーバにアップロードし、アクセスしてください。ブラウザをリロードするたびに数字が増えていけば、セッションは有効です。そうでない場合、セッションは動いていません。

<?php
session_start();

if ( ! isset( $_SESSION['number'] ) ) {
    $_SESSION['number'] = 0;
}
$_SESSION['number']++;
echo $_SESSION['number'];

もしあなたの環境がMAMPやXAMPPなどのローカル環境である場合、デフォルトでセッションがオフになっている可能性があります。これは「XAMPP セッション」などでGoogle検索をかければすぐに解決します。

商用環境の場合、なんらかのホスティングサービスを利用していることでしょう。その場合は、サーバの管理者に尋ねてください。

複数台構成の環境はどうしたらいいですか?

幾つかの巨大サイトでは複数台のサーバからなる構成になっています。その場合、セッションは難しい問題です。というのも、普通のセッションはキャッシュファイルをそのサーバのファイルシステムに保存するからです。

この記事は登録済みユーザー専用です。残り36%のコンテンツを読むためには、ログインしてください。

目次