Mit folgender php Funktion kann man eine Nummer ohne Datenbank hochzählen. Mittels flock wird sichergestellt, dass die Nummer nicht von parallelen Prozessen doppelt vergeben wird.
/**
* @return int
* @throws Exception
*/
function setNumber(): int {
$file = dirname(__FILE__).'/number.txt';
$number = 0;
if (!file_exists($file)) {
$fp = fopen($file, "w");
} else {
$fp = fopen($file, "r+");
while (!flock($fp, LOCK_SH)) { }
$number = intval(fread($fp, filesize($file)));
flock($fp, LOCK_UN);
}
rewind($fp);
$number ++;
while ((!flock($fp, LOCK_EX))) { }
ftruncate($fp, 0);
fwrite($fp, strval($number));
fflush($fp);
flock($fp, LOCK_UN);
fclose($fp);
return $number;
}