这真的很奇怪。我具有以下页面结构:
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有效地两次请求?pageId=0
。
答案 0 :(得分:0)
好吧,我的Firefox安装似乎被宠坏了。我尝试以安全模式启动它,但未显示问题。因此,我对其进行了硬重置,现在问题不再显示。
仍然无法想到问题和<script>
标签之间的任何联系...