|
|
@@ -156,7 +156,13 @@ class Request implements \ArrayAccess {
|
|
|
*/
|
|
|
public static function createFromGlobals() {
|
|
|
list($base, $webroot) = static::_base();
|
|
|
- $sessionConfig = (array)Configure::read('Session') + ['defaults' => 'php'];
|
|
|
+ $sessionConfig = Hash::merge(
|
|
|
+ [
|
|
|
+ 'defaults' => 'php',
|
|
|
+ 'ini' => ['session.cookie_path' => $base ?: '/']
|
|
|
+ ],
|
|
|
+ (array)Configure::read('Session')
|
|
|
+ );
|
|
|
$config = array(
|
|
|
'query' => $_GET,
|
|
|
'post' => $_POST,
|
|
|
@@ -209,10 +215,6 @@ class Request implements \ArrayAccess {
|
|
|
'input' => null,
|
|
|
);
|
|
|
|
|
|
- if (empty($config['session'])) {
|
|
|
- $config['session'] = new Session();
|
|
|
- }
|
|
|
-
|
|
|
$this->_setConfig($config);
|
|
|
}
|
|
|
|
|
|
@@ -227,6 +229,12 @@ class Request implements \ArrayAccess {
|
|
|
$config['url'] = substr($config['url'], 1);
|
|
|
}
|
|
|
|
|
|
+ if (empty($config['session'])) {
|
|
|
+ $config['session'] = new Session([
|
|
|
+ 'ini' => ['session.cookie_path' => $config['base'] ?: '/']
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
$this->url = $config['url'];
|
|
|
$this->base = $config['base'];
|
|
|
$this->cookies = $config['cookies'];
|