Dokuwiki身份验证插件 - 无法重新声明is_ssl()

时间:2017-02-09 14:45:09

标签: php wordpress dokuwiki

我们有一位客户希望以某种方式将Dokuwiki集成到Wordpress中,只有登录到Wordpress的用户才能访问该Wiki。所以我写了一个Dokuwiki身份验证插件,其中包含必要的Wordpress核心文件来检查登录状态。

我的问题是Wordpress以及Dokuwiki都有一个函数is_ssl(),它会导致“致命错误:无法重新声明......”。快速而肮脏的方法是通过在/wp-includes/load.php中添加if(!function_exists('is_ssl'))来编辑Wordpress核心文件。尽管如此,不应该这样做,每次Wordpress获得更新时都必须重新进入,但我无法提出或找到更好的解决方案。

1 个答案:

答案 0 :(得分:1)

理想情况下,两个项目都应使用适当的命名空间来避免这些问题。但这两个项目也很古老(从PHP4时代开始)并拥有庞大的用户群,这意味着只需要缓慢而谨慎地引入变更,同时注意向后兼容性。

除了像runkit这样允许重新定义或重命名函数的一些深奥的php扩展之外,没有好的解决方案。

您最好的方法是向Wordpress和/或DokuWiki发送拉取请求,要求他们集成您的function_exists检查。 DokuWiki可能更容易接近; - )

免责声明:DokuWiki作者