сеанс — PHP создает два файла одновременно с разными именами файлов, но с одинаковым содержимым

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

$uniqFileName = sha1(uniqid('', true)) . '.sess';
$path = '/storage/sessions/';
$sessionContent = ['name' => 'SomeName', 'age' => 'SomeAge'];
file_put_contents($path . $uniqFileName, serialize($sessionContent));

Это создает два файла одновременно с одинаковым содержимым:

0b2399001549e543d067ea28c6561a1b752f58a9.sess
685fcb86fc7310d58e1154ca6b6d029630bb6d56.sess

Содержимое обоих файлов:

a:2:{s:4:"name";s:8:"SomeName";s:3:"age";s:7:"SomeAge";}

Понятно, что это будет класс, но код работает одинаково в контексте класса и в index.php.

2

Решение

Поскольку оба эти названия отличаются uniq(), это означает, что ваш код вызывается дважды. Ищите это. В этом разделе кода должен быть цикл или 2 вызова. Не может случиться само по себе.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]