用取消链接抑制 "No such file or directory"?

Suppress "No such file or directory" with unlink?

我正在使用 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 和取消链接调用,但它似乎介于 file_exists 调用和取消链接之间,一些其他进程删除了文件?!

谢谢!

您可以暂时禁用错误报告,无需强制取消警告。

Note: When you try to delete a directory, you must delete all files recursively inside, first.

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;
}