Это что-то действительно странное. У меня следующая структура страницы:
index.php
<?php
session_start();
include_once('src/functions.php');
logMe('index');
include_once(TEMPLATES_FOLDER . 'standard/header.php');
[...]
include_once(TEMPLATES_FOLDER . 'standard/footer.php');
?>
header.php
<?php logMe('header'); ?>
<!DOCTYPE html>
<html lang="en">
<head>
[...]
<?php if (isset($_SESSION['accountId'])) : ?>
<script type="text/javascript">
[...]
</script>
<?php endif; ?>
</head>
<body>
[...]
Я ожидаю получить 2 строки журнала, одну из index.php
и одну из header.php
(из-за функции logMe()
).
Теперь, если я запускаю страницу в Firefox (61.0.2), я получаю 4 журнала. Если я запускаю его в Chrome (68.0.3440.106), я получаю 2 журнала. Так что в Firefox кажется, что он выполняет все дважды.
Что еще более странно, так это то, что если я удалю тег <script>
, проблема, похоже, исчезнет, поскольку Firefox регистрирует только 2 строки. Но даже если я верну пустой тег <script>
, в нем будет 4 строки! Таким образом, ключ проблемы, кажется, в этом <script>
теге, но как это может быть ??
Более того, у меня есть <script>
тег также в footer.php
. Затем я ожидаю получить 6 строк журнала, следуя этому поведению, но всегда получаю только 4. Только если я удаляю их обоих (из верхнего и нижнего колонтитула), я получаю правильное поведение (2 журнала).
Кто-нибудь знает, что происходит?
обновление
Согласно запросу raina77ow, это access.log
различия:
- Firefox зарегистрировал 16 строк, а Chrome зарегистрировал 15 строк
- Строки Firefox, которых нет в журнале Chrome:
- 127.0.0.1 - - [01 / Sep / 2018: 11: 47: 49 +0200] "GET /favicon.ico HTTP / 1.1" 404 209
- 127.0.0.1 - - [01 / Sep / 2018: 11: 47: 49 +0200] "GET /src/lib/toastr/toastr.js.map HTTP / 1.1" 304 -
- 127.0.0.1 - - [01 / Sep / 2018: 11: 47: 49 +0200] "GET /? PageId = 0 HTTP / 1.1" 200 4242 (эта строка повторяется дважды, один раз в начале журнала и один раз в конце)
- Строки Chrome, которых нет в журнале Firefox:
- 127.0.0.1 - - [01 / Sep / 2018: 11: 48: 40 +0200] "GET /src/lib/toastr/toastr.js.map HTTP / 1.1" 200 25633
- 127.0.0.1 - - [01 / Sep / 2018: 11: 48: 40 +0200] "GET /src/lib/bootstrap-3.3.7/css/bootstrap.min.css.map HTTP / 1.1" 200 542194
Таким образом, Firefox фактически запрашивает ?pageId=0
дважды.