是否可以确定哪个PHP文件生成了一些输出
发布时间:2020-12-13 22:52:01 所属栏目:PHP教程 来源:网络整理
导读:偶尔我会遇到一个问题,即某个大型系统某处的 PHP文件在某些??情况下会产生虚假输出. 这可能是因为有人在?php开启标记之前意外键入了空格或其他字符,或者在最终关闭后留下了不需要的调试回音或包含了一些空格?标签. 有没有办法生成一个日志,显示生成一些输
偶尔我会遇到一个问题,即某个大型系统某处的
PHP文件在某些??情况下会产生虚假输出.
这可能是因为有人在<?php开启标记之前意外键入了空格或其他字符,或者在最终关闭后留下了不需要的调试回音或包含了一些空格?>标签. 有没有办法生成一个日志,显示生成一些输出的所有PHP文件,以及它们生成的输出? 如果没有,有没有其他方法可以建议追踪我描述的问题? 编辑:澄清一下 – 我正在运行的系统是Moodle(不是直接相关的,但是当它被问到……)而且,在这种情况下,输出是在数据库升级期间(但我有随机的类似问题)其他时间输出的字符).有大量不同的PHP脚本被加载到内存中以生成页面,因此手动发现生成不需要的输出的脚本并不是一个非常诱人的前景…… 解决方法
如果您的“唯一”关注是php标签之外的文本
token_get_all()可能对您有所帮助. php标签外的所有内容(?)都报告为T_INLINE_HTML(312),因此很容易过滤.
例如. <?php for($t=0;$t<10; $t++) { ?> <?php } ?> <?php $at = token_get_all( file_get_contents(__FILE__) ); foreach($at as $t) { if ( is_array($t) && T_INLINE_HTML===$t[0]) { echo 'inline html @ line ',$t[2],"rn"; } } 打印(一些空行和) inline html @ line 3 inline html @ line 7 将它与get_included_files()或RecursiveDirectoryIterator这样的东西结合起来,你有一个小小的临时工具来完成任务. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |