1

コード

<?php
session_start();
var_dump($_SESSION);
$_SESSION['test'] = 5;

出力

array(0) { }

phpinfo()

Session Support enabled
Registered save handlers    files user mm
Registered serializer handlers  php php_binary

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_httponly On  On
session.cookie_lifetime 0   0
session.cookie_path /   /
session.cookie_secure   Off Off
session.entropy_file    /dev/urandom    /dev/urandom
session.entropy_length  16  16
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   1   1
session.name    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    files   files
session.save_path   /var/lib/php5   /var/lib/php5
session.serialize_handler   php php
session.use_cookies On  On
session.use_only_cookies    On  On
session.use_trans_sid   0   0

/tmp書き込み可能です:

# ls -la /tmp/
drwxrwxrwt 22 root    root        4096 Aug 26 09:44 .

これについて何か考えはありますか?

4

3 に答える 3

1

セッションが開始されないように見える場合は、次の 2 つのことを行うことができます。

  1. の戻り値を確認してくださいsession_start()falseエラーが発生した場合に返されます。

  2. 通知と警告を表示します。

    error_reporting(-1); 
    ini_set('display_errors', 'On');
    

    error_logライブサーバーでは、代わりに使用したい場合があります。

  3. Cookie を介して、またはクエリ文字列を介してセッション ID を渡すことにより、セッションが適切に永続化されているかどうかを確認します (推奨されません)。

于 2013-08-26T08:04:09.573 に答える
1

サンプルをテストするには、このファイルを 2 回実行する必要があります。1 つはセッション変数の入力用で、次回はセッション配列の印刷用です。以下の例をご覧ください。

<?php
session_start();

$_SESSION['test'] = 5;
var_dump($_SESSION);
于 2013-08-26T08:10:27.483 に答える
0

session.save_pathあり/var/lib/php5ません/tmp

$ sudo chmod 777 /var/lib/php5
$ sudo rm /var/lib/php5/*

セッションが再び機能し始めます。

ジャックは正しいです: セッション ファイルに 777 を使用しないでください!

$ sudo chown wwwrun:www /var/lib/php5
$ sudo chmod 700 /var/lib/php5
于 2013-08-26T08:00:01.993 に答える