PHP переписывает включенный файл – это допустимый скрипт?

Я задал этот вопрос: PHP взаимное исключение (мьютекс)

Как сказано там, я хочу, чтобы несколько источников отправляли свои данные время от времени, и эти статистические данные будут показаны на главной странице веб-сайта.
Моя проблема в том, что я хочу, чтобы это было сделано в атомной манере, поэтому обновление статистики не будет перекрывать другую, запущенную в фоновом режиме.

Теперь я придумал это решение, и я хочу, чтобы вы, эксперты PHP, судили об этом.

stats.php

<?php define("my_counter", 12); ?> 

index.php

 <?php include "stats.php"; echo constant("my_counter"); ?> 

update.php

 <?php $old_error_reporting = error_reporting(0); include "stats.php"; define("my_stats_template",' <?php define("my_counter", %d); ?> '); $fd = fopen("stats.php", "w+"); if($fd) { if (flock($fd, LOCK_EX)) { $my_counter = 0; try { $my_counter = constant("my_counter"); } catch(Exception $e) { } $my_counter++; $new_stats = sprintf(constant("my_stats_template"), $my_counter); echo "Counter should stand at $my_counter"; fwrite($fd, $new_stats); } flock($fd, LOCK_UN); fclose($fd); } error_reporting($old_error_reporting); ?> 

Несколько клиентов будут вызывать файл update.php один раз каждые 60 секунд каждый. «Index.php» будет использовать файл «stats.php» все время, как вы можете видеть.

Каково ваше мнение?

Solutions Collecting From Web of "PHP переписывает включенный файл – это допустимый скрипт?"

Вы можете найти решение, такое как Memcache, может быть более интуитивно понятным, быстрым и полезным, чем переписывание файла PHP каждый раз, когда вы хотите обновить значение.

Тогда есть идея погладить его в базе данных, да, я знаю, что это медленно, но это настойчиво.

Последнее, вместо того, чтобы писать PHP в файл, почему бы не записать значение в общий файл и просто прочитать его? Это будет хорошо работать с вашим механизмом блокировки и не потребует написания «действительного» PHP для файла, который просто поражает меня как неправильного.