[英]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.