CakePHP2 与 CakePHP3 在同一个域上共存

Posted

技术标签:

【中文标题】CakePHP2 与 CakePHP3 在同一个域上共存【英文标题】:CakePHP2 coexising with CakePHP3 on same domain 【发布时间】:2017-08-19 10:36:11 【问题描述】:

让我们假设一个用 Cake2 编写的应用程序。这个应用程序是巨大的。这个应用程序主要是关于 CRUD 的。将此应用程序重写为 Cake3 可能非常耗时。

现在,我需要用很多功能扩展这个应用程序。越来越多的 CRUD。

应用程序界面必须看起来一样,必须有旧应用程序提供的单一授权和身份验证,或者可能重写到新应用程序中。

现在,有什么方法可以使现有应用程序(在 Cake2 中)与 Cake3 在同一个域上工作?

我知道添加的功能可以在子域上运行,例如

Cake2 应用是 domain.tld Cake3 应用是 storage.domain.tld

但是可以将事情设置为多么复杂,有问题

domain.tld/[beefs|chips|sausages] domain.tld/storage

意见?

【问题讨论】:

【参考方案1】:

这很容易。只需将您的网络服务器配置为将 /storage 路由到 Cake3 应用程序和所有其他到 Cake2 应用程序。

Configure nginx with multiple locations with different root folders on subdomain(概念相同) https://www.nginx.com/blog/creating-nginx-rewrite-rules/ Google 知道的更多 :)

【讨论】:

想知道,它可以共享会话吗? AFAIK,表单的令牌会不匹配,对吧?如何使用 2 个不同的应用程序将数据传递到单个视图

以上是关于CakePHP2 与 CakePHP3 在同一个域上共存的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 3 - 自定义数据源在哪里?

Cakephp 3 模型创建

如何在 CakePHP 3x 中导入供应商文件

Cakephp 3 带有语言参数的路由

CakePHP 3.0 中虚拟字段/实体属性上的分页排序链接

如何拦截CakePHP 3中的检索字段?