测试整个PHP网站


Test an entire PHP website

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

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

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

你知道有什么线索可以做这件事吗?

  1. 在php.ini 中打开error_reporting

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

    wget-rhttp://your-url

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

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

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

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

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

其他可能的解决方案包括:

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