2012-10-03 70 views
3

我有一个运行CakePHP的网站。现在我需要包含一个WordPress的博客来与它一起运行。问题是我需要进行一些整合,比如用户登录,所以我试图包含应该给予整合的Wordpress文件。将wordpress与cakephp集成

我的服务器的文件系统的结构是:

/root 
    /app (cake's app directory) 
     /webroot 
     /... 
    /blog (wordpress directory) 
     /wp-admin 
     /... 

的WordPress安装了罚款(我使用的指向此文件夹的子域),所以现在我有自己运行完美这两个网站。

但是,正如我上面提到的,我需要与他们建立了一些整合,特别是登陆在WordPress网站的用户,当他们登录到我的CakePHP的网站。我试着做什么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的(需要(” ../../博客/wp-blog-header.php');)在users_controller,但我甚至不知道这是正确的地方做到这一点。

我读过别的地方,有时不同的框架具有相同的名称声明功能和能够引起冲突。

所以我不知道,如果是这样的话,我仅仅把“融合代码”放错了地方。

任何帮助将不胜感激!

+0

你有没有得到这个地方?我处于您发布时的位置 - 即将尝试将WP与现有的CakePHP应用程序集成。任何建议都会有帮助,因为网络几乎没有关于如何做的好消息。 – Derek

回答

1

(尤其是当它涉及到未来的升级),你会为自己节省很多的麻烦,如果你可以修改你的设计有2个独立的域,并在每个框架。通过这样做,最复杂的一点就是在两者之间实现某种SSO ......但它应该比试图合并2个框架(其操作完全不同)更容易。

0

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

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

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

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

所以,如果你是第一位的,在你的应用程序,它会直接检查你的CAS服务器上的会话。如果你没有登录,那么它会问登录表单,你的php客户端将管理你的应用程序的登录会话。

成功登录后,你可以得到用户ID的详细信息,并基于这一点,你可以比较你的CakePHP应用程序数据库和WordPress数据库。

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