Ich habe hier und anderswo alles angeschaut, nichts scheint zu funktionieren!PHP Session ID Reset beim Laden der Seite
Hier ist die Frage:
- Auf Seite zu laden, auf
session_start()
Aufruf, ich habe eine PHP-Session-ID zugewiesen bekommen. - Sobald ich die Seite aktualisieren, bekomme ich eine neue Session-ID und das macht die
$_SESSION
Variable leer.
PHP Version ist: 5.6.30-0+deb8u1
habe ich ein kleines Skript außerhalb der Anwendung zu replizieren:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
echo '<pre>';
echo 'orig session.cookie_domain = '.ini_get('session.cookie_domain').PHP_EOL;
echo 'orig session.cookie_secure = '.ini_get('session.cookie_secure').PHP_EOL;
ini_set('session.cookie_domain', '.mydomain.com');
ini_set('session.cookie_secure', 'Off');
echo 'new session.cookie_domain = '.ini_get('session.cookie_domain').PHP_EOL;
echo 'new session.cookie_secure = '.ini_get('session.cookie_secure').PHP_EOL;
echo '-------------'.PHP_EOL;
print_r($_COOKIE);
session_start();
print_r($_COOKIE);
setcookie(ini_get('session.name'), session_id(), 0, '/', ini_get('session.cookie_domain'), false, false);
print_r($_COOKIE);
echo '-------------'.PHP_EOL;
echo 'session id: '.session_id().PHP_EOL;
echo '-------------'.PHP_EOL;
$_SESSION[session_id()][] = date('Y-m-d H:i:s');
print_r($_SESSION);
echo '</pre>';
//phpinfo();
Ausgabe des Skripts ist:
orig session.cookie_domain =
orig session.cookie_secure =
new session.cookie_domain = .mydomain.com
new session.cookie_secure = Off
-------------
Array
(
[__cfduid] => ddxxx
[_ga] => GA1.2.xxxx
[wp-settings-time-2] => 1500996194
[_gid] => GA1.3.xxxx
)
Array
(
[__cfduid] => ddxxx
[_ga] => GA1.2.xxxx
[wp-settings-time-2] => 1500996194
[_gid] => GA1.3.xxxx
)
Array
(
[__cfduid] => ddxxx
[_ga] => GA1.2.xxxx
[wp-settings-time-2] => 1500996194
[_gid] => GA1.3.xxxx
)
-------------
session id: 7n4mm16s525mpqo99r242p90l3
-------------
Array
(
[7n4mm16s525mpqo99r242p90l3] => Array
(
[0] => 2017-08-07 16:01:18
)
)
Klingt wie Ihre Domain nicht korrekt eingestellt ist. Was ist die tatsächliche Domäne, die Sie verwenden, verglichen mit der, die Sie festgelegt haben? –
Und welche URL gehen Sie in Ihrem Browser? Müssen Sie tatsächlich cookie_domain setzen? Was ist Ihr Anwendungsfall, um nicht nur den Host zu verwenden? –
@ JonStirling gibt es eine Staging-Umgebung auf einer Sub-Domain, deshalb. Nicht einstellen tut das Gleiche. – pycvalade