【发布时间】:2013-02-13 09:56:24
【问题描述】:
我有一个带有数十个虚拟主机的专用服务器。我想确定哪个文件正在调用 mail() 函数并在全局范围内记录它。我需要这样的东西:
[Wed Feb 13 10:42:39 2013] mail() called from /var/www/example1.php on line 70
[Wed Feb 13 10:42:40 2013] mail() called from /var/www/example2.php on line 70
我不能使用 debug_backtrace() 或类似的,因为我不能将它添加到服务器中的任何 PHP 文件中。我可以将所有函数调用全局记录在一个文件中,例如将错误记录到 error.log 之类的文件中吗?
谢谢
【问题讨论】:
-
最简单的方法是创建自己的函数,例如,
sendMail,女巫记录操作并发送邮件。 -
xdebug 提供了这样的功能,尽管在所有虚拟主机上全局启用跟踪在性能方面可能不是一个好主意。
-
@DainisAbols:他不拥有代码。
-
谢谢,但这对我无效:如果我有 50 个虚拟主机和他自己的 WordPress/Joomla/Drupal 我不能编辑任何 PHP 文件来替换 mail() 函数。 xdebug 也是一样,我不能为所有虚拟主机启用这个,我的服务器会爆炸......