0

CakePHP 2.3.1 を使用しています。

私たちのサーバーには、1 つのサーバーにいくつかの独立したアプリケーションがあります。だから私はクックブックsession.cookie_pathに従って設定を変更したい:

Configure::write('Session', array(
    'defaults' => 'php',
    'ini' => array(
        'session.cookie_path' => '/app/dir'
    )
));

これで無事変更できました。しかし、ここに問題があります。session.cookie_path値をwebroot動的に設定する必要があります( などの文字列リテラル値なし'/app/dir')。

このQ&A$this->webrootに従って使ってみたのですが、もちろんファイルにコントローラがないのでうまくいきません。app/Config/core.php

何か案は?

4

1 に答える 1

0

PHP変数が利用可能であることに気付きました: $_SERVER['REQUEST_URI']. だから私は問題を解決することができました。

$requestURI = $_SERVER['REQUEST_URI'];
$webroot = preg_replace('/(^\/[^\/]+\/).*$/', '$1', $requestURI);
//echo $webroot;
Configure::write('Session', array(
    'defaults' => 'cake',
    'ini' => array(
        'session.cookie_path' => $webroot   // looks like '/app/'
    )
));

しかし、このソリューションには十分な再利用性がありません/apps/app1/

私はまだより良い解決策を待っています。

于 2013-03-25T02:22:34.983 に答える