【问题标题】:How to enable Joomla debug mode from the URL如何从 URL 启用 Joomla 调试模式
【发布时间】:2013-03-12 09:58:54
【问题描述】:

我经常需要来自实时网站的性能信息。由于我无法向最终用户显示调试信息,我需要一种方法来启用 Joomla!带URL参数的调试模式,即

http://example.com/?debug=1

我只能在第 91 行 (Joomla 2.5.9) 使用 includes/framework.php 的核心 hack 来实现这一点:

define('JDEBUG', $config->debug  || JRequest::getVar('debug','0')=='1');

也可以在configuration.php上播放:

public $debug = JRequest::getVar('debug','0')=='1';

我刚刚按照 Mark Dexter 和 Louis Landry 在 Using Plugins to Override Core Classes 的帖子测试了使用系统插件覆盖配置。但是根据 Ivan Rajkovic 的建议进行快速测试,

print_r(JLoader::getClassList());

表明配置已经加载,所以不能被覆盖。

您能否建议无需核心破解即可实现此目标的更好方法?

Joomla 有解决方案吗! 3?

【问题讨论】:

  • 我认为出于安全原因,这个选项很久以前就被删除了,所以不,没有核心黑客你将无法做到这一点
  • 不,没有核心黑客你不能这样做。另外,如果你想做核心黑客检查 configuration.php public $debug = '0';
  • @JobinJose 在配置文件中设置 hack 毫无意义 - 为所有人打开它 - 相当于只在全局配置中的单选按钮上打开它;)
  • @George Wilson:配置文件中的 hack 将是 $debug = JRequest::getVar('debug','0')=='1' || '0';

标签: debugging joomla joomla2.5 performance-testing


【解决方案1】:

我认为,如果您启用了调试插件(在插件列表中)并将其访问级别设置为超级用户或您的等级,那么除了您之外,没有其他人可以看到调试信息。

更新

a plugin(尽管适用于 Joomla!1.5)限制了某些 IP 的调试输出,使您可以在不向所有人公开的情况下调试实时站点。不知道让它与 Joomla 一起工作有多容易! 2.5

【讨论】:

  • 好主意,但是网站对于访客和登录用户来说通常是完全不同的(缓存在 2.5 中对登录用户完全禁用!joomlacode.org/gf/project/joomla/tracker/…)所以在没有登录的情况下确实需要调试。感谢您的贡献
  • 哦,对了,这无法为客人进行调试。答案已更新
猜你喜欢
  • 2010-12-30
  • 1970-01-01
  • 2020-05-22
  • 1970-01-01
  • 1970-01-01
  • 2013-09-02
  • 2011-04-16
  • 1970-01-01
  • 2015-12-25
相关资源
最近更新 更多