您现在的位置: 首页 > 开发编程 > Smarty教程 > 正文

smarty报filemtime(): stat failed for

作者:admin来源:B5教程网浏览:时间:2014-04-27 21:10:54我要评论
分享到
错误:Warning: filemtime(): stat failed for /path/to/smarty/cache/3ab50a623e65185c49bf17c63c90cc56070ea85c.one.tpl.php 
in /path/to/smarty/libs/sysplugins/smarty_resource.php
 
这意味着,你的应用程序已经注册了自定义错误处理器(使用 set_error_handler()), 但该处理器没有处理当前的$errno。 如果,不管什么理由,这是你的自定义错误处理器的处理方式的话, 那么在注册你的错误处理器后,调用 muteExpectedErrors()。

Smarty 3.1.2提供了 muteExpectedErrors()函数。 在设置了自定义错误处理器后,需调用Smarty::muteExpectedErrors();来确保Smarty产生的warning和notices报告,不会传递到自定义错误处理器上。 如果你的错误日志充满了关于filemtime()和unlink()调用时产生的warning,请使用Smarty的muteExpectedErrors()。


Smarty::muteExpectedErrors() — 忽略脚本警告信息说明
string muteExpectedErrors();
muteExpectedErrors() 通过PHP的set_error_handler()函数来注册一个自定义错误处理器。 该错误处理器仅简单通过$errno 和 $errfile来检查当前错误,如果当前错误级别是warning或notice将被忽略,而如果是其他错误级别将被传递到下一个错误处理器。
 
Smarty::unmuteExpectedErrors()可移除当前的自定义错误处理器。 请注意,如果在调用了muteExpectedErrors()后,你还有注册一些自定义错误处理器,那么Smarty::unmuteExpectedErrors()将只会移除在后面注册的处理器,而不会移除muteExpectedErrors()注册的处理器。

相关热词搜索: smarty filemtime()