将WordPress与CakePHP集成

3

我有一个使用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功能的代码(require('../../blog/wp-blog-header.php');)放置在CakePHP的users_controller中,但我甚至不确定这是否是正确的位置。
我曾在其他地方读到,有时候不同的框架会使用相同名称的函数,这可能会导致冲突。
所以我不确定是否出现了这种情况,或者我只是把“集成代码”放错了位置。
非常感谢任何帮助!

你在这方面有什么进展吗?我现在处于你发布这篇文章时的位置——即将尝试将WP与现有的CakePHP应用程序集成。任何建议都会很有帮助,因为网络上几乎没有关于如何做到这一点的好信息。 - Derek
2个回答

1
如果您能将设计修改为拥有两个独立的域名和每个域名的框架,那么您将避免很多麻烦(尤其是在未来升级时)。通过这种方式进行操作,最复杂的部分将是在两者之间实现某种形式的SSO...但这应该比试图合并完全不同的两个框架更容易。

0

如果您想管理多个域的登录,那么只能使用单点登录方法来实现。您也可以使用CAS服务器来管理该功能以及认证。

我只是给您提供与CAS相关的一些小信息。

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

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

因此,如果您首先进入您的应用程序,则会直接检查您在cas服务器上的会话。如果您没有登录,则会要求登录表单,您的php客户端将管理应用程序的登录会话。

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

如果找到ID,则只需登录,否则它将重定向到CAS服务器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接