【问题标题】:Integrating wordpress with cakephp将 wordpress 与 cakephp 集成
【发布时间】:2012-09-24 13:50:44
【问题描述】:

我有一个使用 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');) 的代码放入users_controller,但我什至不确定这是否适合。

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

所以我不确定是这种情况还是我只是将“集成代码”放在了错误的位置。

任何帮助将不胜感激!

【问题讨论】:

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

标签: wordpress cakephp integration


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-31
      • 2011-09-04
      • 2014-01-26
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      • 1970-01-01
      相关资源
      最近更新 更多