【问题标题】:$_SESSION from core php to YII2$_SESSION 从核心 php 到 YII2
【发布时间】:2015-09-08 10:32:19
【问题描述】:

我们有一个核心 PHP 项目。现在我们要将其中一个模块转换为 YII2。

所以我的做法是这样的:-

根据我们的旧代码,当用户提交字符串进行搜索时,我们会在核心 php 中获取所有数据,并为其创建一个唯一的 URL。在我们将控制重定向到这个 url 之后。这个唯一的 URL 由 .htaccess 文件处理。进一步的处理由核心 PHP 文件(在 .htaccess 文件中)运行。

现在我们要在 .htaccess 处理后转换模块。 在 URL 制作一切正常之前。 URL 创建良好,我们在会话中保存了一些使用完整信息,并将控制重定向到 yii2 控制器。现在我们的问题是我们如何在那里获取数据? 我们在会话中添加了重要数据,但无法使用 $_SESSION 获取数据。 我们无法更改 URL。 我们不能使用 POST 方法。 那怎么办?

例子:-

用户搜索

  ' India gate,new delhi, india'

所以我们正在制作这种类型的网址

  /india/new-delhi/india-gate

现在.htaccess url是这样的

  RewriteRule ^india(.*)/$ /pages/india/process.php

我们在 YII2 中制作了一个控制器,并像这样更改了 .htaccess url

 RewriteRule ^india(.*)/$ /web/index.php?r=site/india [NC]

页面被重定向,但问题是我们如何在这个 YII2 框架上获取核心 php 数据?像 $_SESSION 数据和另一个数据

【问题讨论】:

  • 我试过这个 Yii::$app->session,但它没有显示核心 PHP session 数据。
  • 你可以打开漂亮的url来删除?r=site/india
  • 首先你必须使用 yii2 设置会话然后你可以从中获取数据。
  • 我可以在核心 PHP 中设置 yii2 会话吗?而且它是旧代码,我们不想修改它,这就是为什么我们计划仅通过 YII2 更改视图。

标签: php apache session yii2


【解决方案1】:

我了解,您有两个 php 应用程序 - 旧的一个,用于设置一些数据,另一个使用 Yii2,您需要读取该数据。 会话机制不允许您在两个不同的应用程序之间共享一个会话,但您可以使用一些中间件 - 例如,memcache 服务器:您将从第一个应用程序将数据写入 memcache,然后从 yii 读取它。

【讨论】:

  • 对不起,对此(memcache)了解不多,但我会尝试。
猜你喜欢
  • 2015-04-23
  • 2020-10-13
  • 1970-01-01
  • 2013-12-04
  • 2014-05-10
  • 1970-01-01
  • 2016-12-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多