hostnet/dead-tool

死代码识别工具箱

1.3.2 2020-04-08 13:03 UTC

This package is auto-updated.

Last update: 2024-09-18 04:23:33 UTC


README

欢迎来到死代码识别工具集,这个工具集可以与Eclipse的dead文件插件和treemap可视化工具一起使用。

配置

请在根目录中添加一个config.yml文件,内容如下

options:
  dsn: mysql:host=servernamehere;dbname=databasenamehere
  username: usernamehere
  password: passwordhere

您也可以将此信息放入~/.deadrc进行基于用户的配置,或者放入/etc/dead.conf进行系统级配置。

运行make来构建dead.phar。通过运行make install,可以安装dead.phar。然后系统级命令dead将可用。

您必须将一个包含表添加到数据库databasenamehere。这些名称不是必需的,但如果您不配置它们或将其作为命令行参数传递,则必须配置它们。如果您想监控多个应用程序,请使用应用程序名称而不是包含。

创建查询是

CREATE TABLE `includes` (
 `function` varchar(700) NOT NULL,
 `count` bigint(20) NOT NULL,
 `first_hit` timestamp NULL default NULL,
 `last_hit` timestamp NULL default NULL on update CURRENT_TIMESTAMP,
 `added_at` timestamp NULL default NULL,
 `deleted_at` timestamp NULL default NULL,
 `changed_at` timestamp NULL default NULL,
 PRIMARY KEY  (`function`)
)

为了让PHP向测量添加数据,必须将一个文件添加到服务器(注意:这是服务器级别的,不要将此文件污染您的应用程序)。

append.php(或您的自定义名称)

<?php 
// push all data to the browser
@ob_flush(); 
@flush(); 

/* DYNAMIC LIVE FILE ANALYSIS */ 
$db = mysql_connect('servernamehere','usernamehere','passwordhere'); 
mysql_select_db('databasenamehere',$db); 

$files = implode('\',\'',get_included_files()); 

$query = "UPDATE aurora SET count = count + 1, first_hit = if( first_hit IS NULL, NOW(), first_hit)  WHERE file IN ('$files')"; 
mysql_query($query,$db); 
mysql_close($db);

然后必须更改服务器的php.ini,以便PHP在每次请求后始终执行此代码。如果您有单独的php.ini用于CLI,也请更改该文件,如果您想在测量中使用CLI版本的您的应用程序。

php.ini

[php]

... lots of directives ...

; Automatically add files after PHP document.
; https://php.ac.cn/auto-append-file
auto_append_file="/your/path/to/append.php"

如果您有任何问题或需要使用工具集的指导,请随时通过hidde@hostnet.nl与我联系。