php - 使用具有两个不同域的 cakephp session

标签 php session cakephp

我有两个不同的域,名为 http://sample.comhttp://example.com . CAKEPHP开发的示例网站和corephp开发的示例网站。如果我要登录到 example.com,这个 session 应该与 cakephp session 匹配。 如果我登录了网站的任何人,它将对两者都起作用。 这可能吗。请建议我最好的锻炼方法。

提前致谢。

最佳答案

有一种在单个服务器上运行不同站点/域的常用技术,称为 vhosts。由于您可以为每个虚拟主机指定 session 路径,因此也可以为所有虚拟主机定义相同的路径,这将导致共享 session 。在项目 A 中创建的 session 随后也可在 session B 中使用,反之亦然。

如果您使用纯 PHP、CakePHP 或其他任何东西,vhosts 并不关心。 session 就是 session 。

您需要的 vhost 规则是(注意 session 文件夹在两个定义中是相同的):

<VirtualHost *:80>
    ServerName www.sample.com
    DocumentRoot /var/www/xxx1
    <Directory "/var/www/xxx1">
        AllowOverride All
        php_value session.save_path "/var/mysessionfolder"
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot /var/www/xxx2
    <Directory "/var/www/xxx2">
        AllowOverride All
        php_value session.save_path "/var/mysessionfolder"
    </Directory>
</VirtualHost>

要获得更多信息,阅读此主题可能会有用:How to prevent PHP sessions being shared between different apache vhosts?它问你想要的相反。

关于php - 使用具有两个不同域的 cakephp session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18187658/

相关文章:

PHP:从数组中获取 key ?

php - 如何在特定键值对之后访问 stdclass 对象?

php - 将文件加载到 PHP 数组中,最好的方法是什么?

php - Codeigniter - 获取所有用户 session 数据

php - cakePHP - PHP EXCEL 另存为 .html

mysql - 如何使用 CakePHP Auth 获取变量中的用户表数据

php - 在 PHPmyadmin 中加载数据 INFILE

php - 如何使用 php 分别插入照片和文本?

typescript - 类型 'NextApiRequest' 缺少类型 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>' 的以下属性

php - 在 cakephp 的 xml 帮助程序中找不到 xml 类