簡體   English   中英

瀏覽服務器上的應用程序時,如何記錄訪問哪些PHP文件和/或功能?

[英]can I log which PHP files and/or functions are accessed while browsing an application on my server?

因此,我有一個包含許多不同文件的php應用程序,代碼有些混亂。

我要做的是在服務器上安裝該應用程序,短暫使用它,嘗試覆蓋此處單擊的所有功能,然后以某種方式獲取一條日志,顯示“已使用這些php文件”或“已訪問這些功能”。

我不在乎函數參數,所需時間,每件事被調用多少次等。

我只想看看是否有函數或至少整個文件從未被調用過-因此它們已經死了。

我知道1)可以通過編輯每個文件並在調用或包含該文件時寫一些東西來完成2)可能有靜態工具嘗試遵循所有代碼路徑等。

我對以上內容不感興趣-我只需要一些東西,可能是php模塊/調試器,我不確定,該日志記錄了php請求/包含/運行的文件。 如果也可以追蹤特定功能,那就更好了。 但是,即使只是文件也很棒。

聽起來好像您在尋找xdebug之類的調試器,特別是此功能和此功能跟蹤

這僅僅是獲取正在使用的文件的列表。 將需要調試器來對項目進行性能分析。 還要將此答案引用類似的問題。

包含文件的列表將保存為文本文件。

在您的php.ini中,設置auto_prepend_file指向包含以下內容的文件。

<?php

function shutdown_file_output()
{
    file_put_contents( 'included_files.txt', implode( PHP_EOL, get_included_files() );
}

register_shutdown_function('shutdown_file_output');

PHP的debug_backtrace()函數可用於獲取腳本執行的完整跟蹤,包括調用的函數和參數。 如果您在腳本末尾調用此函數,並將輸出記錄到一個或多個文件中,則應該可以滿足您的要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM