Php 如何在不支持日志的主机上记录错误?
我想使用以下方法将错误记录到文件:Php 如何在不支持日志的主机上记录错误?,php,logging,Php,Logging,我想使用以下方法将错误记录到文件: $tpath = "/storage/my-errors.log"; error_log("You messed up!", 3, $tpath); 我已经设置了777路径的权限,它应该可以保存这个你弄糟的值!在文件里,但我搞不清楚 我自己也犯了一个错误,但它没有保存在日志文件中,只是发消息说你搞砸了 我还尝试: ini_set("log_errors", 1); ini_set("error_log", "mypath"); error_log( "Hel
$tpath = "/storage/my-errors.log";
error_log("You messed up!", 3, $tpath);
我已经设置了777路径的权限,它应该可以保存这个你弄糟的值!在文件里,但我搞不清楚
我自己也犯了一个错误,但它没有保存在日志文件中,只是发消息说你搞砸了
我还尝试:
ini_set("log_errors", 1);
ini_set("error_log", "mypath");
error_log( "Hello, errors!" );
您可以使用所需的方法登录到CSV 创建一个可重复使用的函数,该函数将控制所有日志记录:
function logger($log_name, $log_message){
$todays_date = date('Y-m-d');
// Open the file to write to it, file is created if it does not exist.
$output = fopen($log_name."-".$todays_date.".csv", 'w');
// Write line of log in CSV format to the log.
fputcsv($output, array("[".$todays_date."] ",$log_message));
// Close the file.
fclose($output);
}
您可以将其与进程名称一起用作$log\u名称
范例
这将生成一个名为user_login-2017-02-13.csv的日志。如果文件不存在,将创建该文件,随后对该文件的写入将逐行追加
“日期”部分用于自动为每天创建一个新文件,因此您可以根据需要更改该文件。是否要抛出错误?或者你到底在问什么?你看到的/storage路径很可能不仅仅是/storage,而是类似于/users/i/n/g/ingus/storage/或与你的用户名类似的路径。您可能可以通过转储$\u SERVER['DOCUMENT\u ROOT']变量来解决这个问题。很可能你不需要在你自己的个人目录上写任何东西,但是他们已经在上面chroot'ed或锁定了ftp,这样你就可以看到/作为你的根,而实际上它不是服务器的根。如果你只需要将普通的PHP错误指向你的特定日志,请检查以下内容:如何:ini_setlog_errors,1;ini_seterror_log,/path/to/file/errors.txt;如果您有权创建php.ini,某些主机确实允许或设置htaccess文件,您还可以从Don't Panic的注释中设置所有这些指令,这将允许您捕获致命错误和语法错误。这真是太酷了!谢谢但是我想删除php/mysql错误,因为我没有访问它们的权限
logger("user_login", "You messed up");