我刚开始学习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日志记录的原因。我还在学习。
答案 0 :(得分:1)
你似乎有各种其他与php相关的问题。
尝试使用error_reporting(E_ALL); ini_set('display_errors',1)
,
在php文件上进一步使用php -l
(linter)。
我当前的git版本gameReader.php
因为以下内容而无法包含:
Fatal error: Cannot redeclare emptyClass::addladderWinsCoin() in ./gameReader.php on line 87 (1*)
因此没有logThis
(1 *):这意味着您声明方法addladderWinsCoin
2次,这是不正确的
编辑:
您可以使用以下变体来检查php(假设安装了linux和php-cli)
find . -name '*.php' -exec php -nl {} \;