我有一个运行CakePHP的网站。现在我需要包含一个Wordpress博客来运行它。问题是我需要进行一些集成,比如用户登录,所以我试图包含那些应该提供集成的Wordpress文件。
我的服务器的文件系统结构是:
/root
/app (cake's app directory)
/webroot
/...
/blog (wordpress directory)
/wp-admin
/...
Wordpress的安装很顺利(我正在使用指向此文件夹的子域),所以现在我自己完全可以运行两个网站。
但是,正如我上面提到的,我需要与它们建立一些集成,特别是在登录我的CakePHP站点时登录Wordpress站点中的用户。我尝试过做this other question says,但是我收到以下错误:
Fatal error: Cannot redeclare __() (previously declared in /homepages/36/d******/htdocs/cake/basics.php:657) in /homepages/36/d********/htdocs/app/controllers/users_controller.php on line 60
我正在尝试将应该带来Wordpress功能的代码放入CakePHP( require('../../ blog / wp-blog-header.php'); )in users_controller ,但我甚至不确定这是否适合这样做。
我在其他地方读过,有时不同的框架会声明具有相同名称的函数,并且可能会导致冲突。
所以我不确定是不是这样,或者我只是把“集成代码”放在错误的地方。
非常感谢任何帮助!
答案 0 :(得分:1)
如果您可以修改您的设计以拥有2个独立的域,并且每个域都有一个框架,那么您将为自己节省很多麻烦(特别是在未来升级时)。通过这种方式,最复杂的一点是在两者之间实现某种SSO ......但它应该比尝试合并2个框架(完全不同的操作)更容易。
答案 1 :(得分:0)
如果您想管理多域登录,那么您只能使用单点登录方法。您还可以使用CAS Server来管理该功能以及Auth。
我只是给你一些与CAS有关的小信息。
其中,您必须安装CAS服务器。还有PHP客户端。
成功安装CAS服务器后,您必须将cas服务器应用程序设置为整个应用程序的主页。
因此,如果您首先访问您的应用程序,它将直接检查您的cas服务器上的会话。如果您尚未登录,则会询问登录表单,您的php客户端将管理您的应用程序的登录会话。
成功登录后,您可以获取用户ID的详细信息,基于此,您可以比较您的cakephp应用程序数据库和wordpress数据库。
如果找到了id,那么你只需要登录,否则它将重定向到CAS服务器。