【问题标题】:Test an entire PHP website测试整个 PHP 网站
【发布时间】:2012-03-26 12:06:54
【问题描述】:

我继承了一个在 Apache 上运行的大型现有 PHP 应用程序(实际上是网站)。

我的问题是只有代码有点……纠结,我知道有很多错误代码。

我想拥有/构建一个可以调用我网站的所有 URL(或脚本)并检测是否存在异常或错误的工具?

您知道执行此操作的某种线索吗?

【问题讨论】:

    标签: php testing


    【解决方案1】:
    1. 在 php.ini 中开启 error_reporting

    2. 将 wget 指向网站并要求递归下载所有内容:

      wget -r http://your-url

    3. 输出中的 grep PHP 警告、通知和错误。

    【讨论】:

    • @Lohoris - 是的,但我猜你会得到很多报道,考虑到 OP 必须处理的内容,这似乎总比没有好。
    • 我真的很喜欢这个 :) 很简单,将覆盖我的大部分网站@Lohoris - 你很厉害,我可能会将它与你的答案结合起来,以全面覆盖 php 页面 谢谢很多人!!!
    • windows下怎么做?
    【解决方案2】:

    仅对于语法,您可以使用以下内容:

    looris@Lohoris-WhiteBook:~ $ cat bin/syntax-check 
    #!/bin/bash
    find $@ -name '*.php' -exec php -l {} \;
    

    【讨论】:

      【解决方案3】:

      如果网站的所有页面都有指向它的内部链接,你可以编写一个浏览整个网站的爬虫,这基本上是一个起点(index.php)的问题,提取它上面的所有链接使用正则表达式或其他东西并点击每个链接并递归执行相同的过程(如遍历树:)。有一些脚本可以生成已经这样做的站点地图。

      如果可以从内部链接访问所有页面,并且无论您的应用程序是如何设计的,这都是解决方案。

      其他可能的解决方案是:

      1. 列出所有可在“public_html”目录中访问的 .php 文件,并使用 curl 或 wget 访问它们
      2. 如果是 MVC 架构,请尝试列出所有控制器中的所有操作,并使用 curl 或 wget 访问它们

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-23
        • 1970-01-01
        • 1970-01-01
        • 2015-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多