如何找出应用程序打开的文件?

时间:2014-10-07 09:31:07

标签: php twig

get_included_files()很有用,但它不包括使用fopen或file_get_contents打开的文件。

我也尝试过使用strace,但我似乎无法回答特定的PHP流程。

更具体地说,我使用twig进行模板制作,并且我想知道哪些文件包含在哪个顺序中。

到目前为止,我试图使用这样的strace,但是正在获得附加到该过程的权限错误。

<?php

$pid = getmypid();

echo `strace -p {$pid} 2>&1 > log &`;

file_put_contents( 'afile', 'foobar' );

输出......

  

strace:attach:ptrace(PTRACE_ATTACH,...):不允许操作   无法附加到进程。如果你的uid与目标的uid匹配   进程,检查/ proc / sys / kernel / yama / ptrace_scope的设置,或   再次尝试以root用户身份。有关详细信息,请参阅   /etc/sysctl.d/10-ptrace.conf

1 个答案:

答案 0 :(得分:0)

您可以使用经典的解决方法:

包装所有文件打开功能,例如:my_fopen,并在那里进行日志记录。

只需几行代码+代码库中的搜索和替换。