私はちょうどいくつかの新しいサーバースペースを購入し、私の他のサーバーでうまく動作する非常に単純なPHPアプリケーションをそれに移行しています。PHPセッションがページ間で保存されない
何らかの理由で、セッションデータが新しいサーバーのページ間の$ _SESSION変数に格納されていません。私はthis similar SO articleと多くの人々がこの問題を解決しようとしています。
私はそれを確認することができます
- セッションのものは、私の他のサイトに正常に動作しています。私はsession.save_pathで定義されたディレクトリを調べて、そこに(OLDサーバー上の)セッションファイルのロードがあります。
- $ _SESSION変数の内容をページの最後にエコーしましたが、正しいデータを保持しています。保存されていません。
- すべてのページに対してecho_d session_id()があり、同じ出力が得られます。
- NEWサーバのsession.save_pathフォルダ(/ usr/lib/php/session)で指定されたフォルダ内にファイルがありません。私はアクセス許可をチェックして、drwxrwx ---で設定されています。これは、PHPプログラムが書き込むことができることを意味しますか?
- .htaccessファイルがありません。
- 私はこれのphpinfo()の出力の関連部分からされるのCentOS 5.5
を実行しています:
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path//
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php/session /var/lib/php/session
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
私はホスティング会社に連絡してきたし、彼らはので、それに見ていないだろうソフトウェアの問題で、管理されたアカウントではないと言います。
// info.php
<?
session_start();
$_SESSION['ID'] = "112233";
$_SESSION['token'] = "mytoken";
print $_SESSION['ID'];
print $_SESSION['token'];
?>
<a href="info2.php">info 2</a>
と、このコードでinfo2に呼ばれる1:
Grrrrr ...あなたが働いていないいくつかのコードを見ることができるだけので、私は私がにリンクされている記事からコードを盗まれています
// info2.php
<?
session_start();
print $_SESSION['ID'];
print $_SESSION['token'];
?>
<a href="info.php">info</a>
結果はinfo.phpに配列データを出力していますが、info2.phpには出力がありません(もちろんリンクは別です)。
事前のお手伝いがあります。
ここからの回答を試してください:http://bytes.com/topic/php/answers/783445-session-not-holding-value –
ヘッダーの問題は、error_reporting(-1)を使用して最大のエラーメッセージを取得しますか? – krifur
@Marek - session.save_pathがphp.iniファイルに正しく設定されているかどうかをチェックする以外に、その投稿にはすべての情報があります。しかし、私はそれを今でもやってきました。 – Joe