我继承了一个在Apache上运行的大型现有PHP应用程序(实际上是网站)。
我的问题是,只有代码有点。。。纠结,我知道有很多错误代码。
我想有/建立一个工具,可以调用我网站的所有URL(或脚本),并检测是否有异常或错误?
你知道有什么线索可以做这件事吗?
-
在php.ini 中打开error_reporting
-
将wget指向网站,并要求递归下载所有内容:
wget-rhttp://your-url
-
输出中的grep PHP警告、通知和错误。
仅用于语法,您可以使用以下内容:
looris@Lohoris-WhiteBook:~ $ cat bin/syntax-check
#!/bin/bash
find $@ -name '*.php' -exec php -l {} ';
如果网站中的所有页面都有指向它的内部链接,你可以编写一个浏览整个网站的爬网程序,这基本上就是有一个起点(index.php),用正则表达式或其他东西提取上面的所有链接,然后点击每个链接,递归地执行相同的过程(比如遍历树:)。有一些脚本可以生成网站地图,这些脚本已经做到了。
如果所有页面都可以通过内部链接访问,无论您的应用程序是如何设计的,这都是解决方案。
其他可能的解决方案包括:
- 列出在"public_html"目录中可访问的所有php文件,并使用curl或wget点击它们
- 如果是MVC架构,请尝试列出所有控制器中的所有操作,并使用curl或wget进行处理