getgrav/grav · error · RuntimeException
Failed to write nonce key file
Error message
Failed to write nonce key file
What it means
Error "Failed to write nonce key file" thrown in getgrav/grav.
Source
Thrown at system/src/Grav/Common/Security.php:2022
self::writeNonceKey($privateFile, $generated);
return self::$nonceKey = $generated;
}
private static function writeNonceKey(string $path, string $value): void
{
$escaped = var_export($value, true);
$contents = "<?php\n\n// Auto-generated private secret. Do NOT commit to version control.\n// Used for CSRF nonce signing and admin rate-limit hashing. Regenerate by\n// deleting this file; the next request will write a new value.\n\nreturn {$escaped};\n";
$dir = dirname($path);
if (!is_dir($dir)) {
Folder::create($dir);
}
// Atomic write: stage to a temp file, fsync via rename.
$tmp = $path . '.tmp';
if (@file_put_contents($tmp, $contents, LOCK_EX) === false) {
throw new RuntimeException('Failed to write nonce key file');
}
@chmod($tmp, 0600);
if (!@rename($tmp, $path)) {
@unlink($tmp);
throw new RuntimeException('Failed to commit nonce key file');
}
}
}
View on GitHub (pinned to 6040efed04)
When it happens
Trigger: Thrown at system/src/Grav/Common/Security.php:2022 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of getgrav/grav@6040efed04 (2026-08-17).
Data as JSON: /api/errors/c246d43c684e4d38.
Report an issue: GitHub.