PHP-从AJAX调用的脚本将数据记录到文件中的问题


PHP - Problems logging data to a file from a script called from AJAX

我刚刚开始学习PHP,我正在尝试将数据记录到.txt文件中,这样我就可以在程序运行时看到发生了什么。

我创建了这个函数来写入文件。

functions.php

<?php
    function logThis($textString){
        $date = date_create();
        $stamp = date_format($date, '[d-m][H:i:s] ');
        $file = fopen("log.txt","a") or die ('fopen failed'); 
        fwrite($file, $stamp . $textString . PHP_EOL);
        fclose($file) or die ('fclose failed');
    }
?>

然后我将这个代码包含到我想登录的页面中,就像一样

define('INCLUDE_CHECK',true);
include 'php/functions.php';
logThis('Great Success!');
logThis('Log up');

我有一个名为gameReader.php的文件,它从数据库中获取数据,并将其格式化为JSON数据,以便在网站上显示。我正在下面用AJAX创建这个文件

var values = []; // Array holding the values
var oReq = new XMLHttpRequest(); //New request object
    oReq.onload = function() {      
        games = JSON.parse(this.responseText);
        console.log('Got '+values.length+' games');
        for (var i=0; i<games.length; i++){
            console.log(values[i]);
        }
        for(var i=0; i<values.length; i++){
            console.log(rootValues[i]+' set.');
            rootValues[i]=values[i];
        }
    };
    oReq.open("get", "gameReader.php", true);
    oReq.send();

当这段代码运行时,gameReader.php被创建并运行,但它不会登录到文件中。我确信这与它的命名方式有关,但我不确定从哪里开始。

如有任何帮助,我们将不胜感激。


所以我的问题有点乱,所以我再补充一些。

除了gameReader.php.之外,日志记录功能在我调用它的每个页面上都能很好地工作

gameReader.php不是一个页面,而是一个从数据库中收集数据的php文件,它会稍微混淆它,并将其作为JSON数组发送出去。

gameReader.php是唯一一个使用JavaScript 调用的文件

以下是完整的文件,如果它有助于

index.php日志记录脚本在以下行运行良好:2、3、126、127。这也是JavaScript被称为第139行的地方

functions.js这是调用gameReader.php的JavaScript(是上面的JavaScript(

gameReader.php这就是问题所在,当它运行时,尽管有第8、9和10行,但没有log.txt的输出。

此外,我确信gameReader.php充满了错误,这就是我需要txt日志记录的原因。我还在学习。

您似乎还有其他各种与php相关的问题。

尝试使用error_reporting(E_ALL); ini_set('display_errors',1)、运行

在php文件上进一步使用php -l(linter(。

I当前的git版本gameReader.php根本无法包含,因为:

Fatal error: Cannot redeclare emptyClass::addladderWinsCoin() in ./gameReader.php on line 87 (1*)

因此没有日志这个

(1*(:这意味着你声明方法addladderWinsCoin 2次,这是不正确的

编辑:

您可以使用以下变体来检查php(假设安装了linux和php-cli(

find . -name '*.php' -exec php -nl {} ';