将wordpress与cakephp集成

时间:2012-10-03 15:31:41

标签: wordpress cakephp integration

我有一个运行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 ,但我甚至不确定这是否适合这样做。

我在其他地方读过,有时不同的框架会声明具有相同名称的函数,并且可能会导致冲突。

所以我不确定是不是这样,或者我只是把“集成代码”放在错误的地方。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

如果您可以修改您的设计以拥有2个独立的域,并且每个域都有一个框架,那么您将为自己节省很多麻烦(特别是在未来升级时)。通过这种方式,最复杂的一点是在两者之间实现某种SSO ......但它应该比尝试合并2个框架(完全不同的操作)更容易。

答案 1 :(得分:0)

如果您想管理多域登录,那么您只能使用单点登录方法。您还可以使用CAS Server来管理该功能以及Auth。

我只是给你一些与CAS有关的小信息。

其中,您必须安装CAS服务器。还有PHP客户端。

成功安装CAS服务器后,您必须将cas服务器应用程序设置为整个应用程序的主页。

因此,如果您首先访问您的应用程序,它将直接检查您的cas服务器上的会话。如果您尚未登录,则会询问登录表单,您的php客户端将管理您的应用程序的登录会话。

成功登录后,您可以获取用户ID的详细信息,基于此,您可以比较您的cakephp应用程序数据库和wordpress数据库。

如果找到了id,那么你只需要登录,否则它将重定向到CAS服务器。