【问题标题】:Adding a logger in production在生产中添加记录器
【发布时间】:2010-08-24 15:09:02
【问题描述】:

我正在实时站点上进行一些更改,并且我经常需要在整个页面中添加记录器 (print_r) 以供我测试。问题是该站点的工作人员非常多,我需要它,所以我肯定是唯一一个看到这个记录器的人。我听说我可以用我的 IP 地址将记录器包装在 if 中,但我想我在回来的时候尝试过,客户仍然查看了它。任何人都有实现这一目标所需的想法或语法。顺便说一句,我认为 PHP 版本在

上较旧

【问题讨论】:

  • 你为什么不先在你的测试服务器上测试这个?

标签: php logging


【解决方案1】:

您总是可以在 get 中传递一个变量并打开它

http://mysite.com?debug=secret

然后:

  if($_GET['debug'] === "secret"){
     print_r($stuff);
  }

在我使用框架之前,我曾经在 debug="secret" 时设置一个 cookie,这样我就不必一直放置它。而且由于只有您设置了 cookie,您就可以了。

【讨论】:

    【解决方案2】:

    这将//your debug code 限制为 IP 12.34.56.78。

    if(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] == '12.34.56.78'){
       //your debug code
    }
    

    您也可以将其存储在常量中:

    define('SHOWDEBUG', isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] == '12.34.56.78');

    其他地方:SHOWDEBUG && print_r($dumped);

    【讨论】:

      【解决方案3】:

      制作一个允许您设置或清除“调试”cookie 的页面。确保您在该页面上输入密码,这样客户就不会乱用它。

      【讨论】:

        【解决方案4】:

        同意 lznogood。

        我会添加一些秘密
        <?php
        $a=$_GET[];
        if($a=xyz){
        }
        ?>
        注意:使获取的某个加密值等于某个其他较大的加密值并没有什么坏处。然后只需为自己添加书签并在代码中进行设置。

        出于布局//连接原因,我在我的页面上启用了此功能。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-06-12
          • 2011-02-27
          • 1970-01-01
          • 2016-02-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多