Skip to content

Commit 3ea16d9

Browse files
committed
Session: don't call session_set_cookie_params() when values was not changed [Closes #134][Closes #23]
1 parent b852132 commit 3ea16d9

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

src/Http/Session.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -373,15 +373,13 @@ public function getOptions(): array
373373
private function configure(array $config): void
374374
{
375375
$special = ['cache_expire' => 1, 'cache_limiter' => 1, 'save_path' => 1, 'name' => 1];
376+
$cookie = $origCookie = session_get_cookie_params();
376377

377378
foreach ($config as $key => $value) {
378379
if ($value === null || ini_get("session.$key") == $value) { // intentionally ==
379380
continue;
380381

381382
} elseif (strncmp($key, 'cookie_', 7) === 0) {
382-
if (!isset($cookie)) {
383-
$cookie = session_get_cookie_params();
384-
}
385383
$cookie[substr($key, 7)] = $value;
386384

387385
} else {
@@ -401,7 +399,7 @@ private function configure(array $config): void
401399
}
402400
}
403401

404-
if (isset($cookie)) {
402+
if ($cookie !== $origCookie) {
405403
session_set_cookie_params(
406404
$cookie['lifetime'], $cookie['path'], $cookie['domain'],
407405
$cookie['secure'], $cookie['httponly']

0 commit comments

Comments
 (0)