取消“取消链接,是否显示“没有这样的文件或目录?”

问题描述 投票:0回答:1

我正在使用Sentry监视网站上的错误。我有一段代码给我带来麻烦,它来自旧的Kohana(PHP框架)模块。

提供此代码(我编辑过):

if ($delete === TRUE)
{
    $file_tmp = $file->getRealPath();
    clearstatcache(TRUE, $file_tmp);
    if (file_exists($file_tmp))
    {
        return @unlink($file_tmp);
    }
    return FALSE;
}

我该如何做到,以免在Sentry上触发这样的错误:

Warning: unlink(/var/www/my-hostname-files/application/cache/25/2530cfe0309c86c52f8dda53ca493f4cf72fdbd3.cache): No such file or directory

原始代码只是大的IF和unlink调用,但似乎在file_exists调用和unlink之间的某个位置,其他一些进程会删除文件?!

谢谢!

php kohana sentry
1个回答
0
投票

您可以暂时禁用错误报告,而无需强制发出强制警告。

if ($delete === TRUE)
{
    $file_tmp = $file->getRealPath();
    clearstatcache(TRUE, $file_tmp);
    if (file_exists($file_tmp))
    {
        // store current error reporting level
        $level = error_reporting();

        // turn completely off
        error_reporting(0);

        // unlink and store state
        $state = unlink($file_tmp);

        // restore error reporting level
        error_reporting($level);

        // return unlink state
        return $state;
    }
    return FALSE;
}
© www.soinside.com 2019 - 2024. All rights reserved.