列出站点使用的PHP函数(内置和可选)

时间:2014-04-24 17:54:47

标签: php

更新:使用PHP解析器解决。让我们重新打开,这样我就可以接受并接受。


我考虑将PHP网站迁移到新主机。我在源主机和目标主机上都有共享计划,因此限制了对PHP自定义的访问。

新主机上可能无法使用某些PHP函数系列(openssl,mcrypt,gd等)。为了使API表面与主机相匹配,我想静态列出我的文件引用的所有PHP函数,包括独立和类方法。

动态代码非常少,因此隐藏在eval后面的API引用不是问题。静态分析就足够了。

我已尝试使用-p和Doxygen的phpCallGraph - 两者都产生不完整的覆盖范围。那还有其他工具可以吗?

编辑:this question中的解决方案完全不适用。它之后的称为函数,而不是已定义的

EDIT2:我想避免重新测试整个网站。只是依赖于模块提供的功能的部分。

1 个答案:

答案 0 :(得分:0)

解决了PHP-Parser和一小时的工作。

浏览文件夹中的所有PHP文件,解析每个文件。浏览解析树,识别函数调用,存储函数名称。识别函数定义语句,存储这些语句的名称。最后,从前者中减去后者,转储结果。类方法调用也是如此。