繁体   English   中英

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

[英]Dokuwiki Authentication Plugin - Cannot redeclare is_ssl()

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

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

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

除了一些深奥的 php 扩展(如 runkit 允许重新定义或重命名函数)之外,没有好的解决方案可以解决您的问题。

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

免责声明:DokuWiki 作者在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM