使用 php 写入日志文件
Using php to write to a log file
首先我对 php 非常非常非常非常不好,很抱歉这个问题
我有一个应用程序,我想在其中记录一些调试数据
通过我的项目,我向我的网站发出了一个网络请求,将信息存储在
$msg 然后我想将数据写入网站上我的 logfile.log。
我最开始用的是fopen fwrite fclose,但是听说file_put_contents会更好
特别是因为我很可能会有几个用户试图同时写入文件。
这是代码:
$msg = $_GET['w'];
$logfile= 'logfile.log';
echo file_put_contents($logfile,$msg, FILE_APPEND | LOCK_EX);
但是你可能猜到代码对我没有任何作用
我让它与 fopen fwrite fclose 一起工作
但我想将每个用户添加到一个新行。
如果有任何聪明的大脑能帮助我,我将不胜感激。
此致。
编辑:
@杰伊
这就是我尝试应用它的方式(在第一行打开 php)
编辑:由于 copy/paste 错误,从代码中删除了 'tag'。
error_reporting(E_ALL); ini_set('display_errors', 1)
$msg = $_GET['w'];
$logfile= 'logfile.log';
echo file_put_contents($logfile,$msg, FILE_APPEND | LOCK_EX);
为什么不直接使用 error_log()
?将 message_type
设置为 3
(第二个参数),消息将写入第三个参数中指定的文件:
$message = $_GET['w'];
$logfile = 'logfile.log';
// Debug: A line for verifying I have the message
echo "Writing message '$message' to logfile<br>";
error_log($message."\n", 3, $logfile);
// Debug: read back the log file to verify thatthe line has been written
readfile($logfile);
请注意附加到邮件的 newline
,因为 error_log()
不会为您执行此操作。
另请注意,必须设置权限以允许 Web 服务器写入目标文件。无论使用 error_log()
还是 file_put_contents()
都是如此
PHP参考是here
首先我对 php 非常非常非常非常不好,很抱歉这个问题 我有一个应用程序,我想在其中记录一些调试数据 通过我的项目,我向我的网站发出了一个网络请求,将信息存储在 $msg 然后我想将数据写入网站上我的 logfile.log。 我最开始用的是fopen fwrite fclose,但是听说file_put_contents会更好 特别是因为我很可能会有几个用户试图同时写入文件。 这是代码:
$msg = $_GET['w'];
$logfile= 'logfile.log';
echo file_put_contents($logfile,$msg, FILE_APPEND | LOCK_EX);
但是你可能猜到代码对我没有任何作用 我让它与 fopen fwrite fclose 一起工作 但我想将每个用户添加到一个新行。
如果有任何聪明的大脑能帮助我,我将不胜感激。
此致。
编辑: @杰伊 这就是我尝试应用它的方式(在第一行打开 php) 编辑:由于 copy/paste 错误,从代码中删除了 'tag'。
error_reporting(E_ALL); ini_set('display_errors', 1)
$msg = $_GET['w'];
$logfile= 'logfile.log';
echo file_put_contents($logfile,$msg, FILE_APPEND | LOCK_EX);
为什么不直接使用 error_log()
?将 message_type
设置为 3
(第二个参数),消息将写入第三个参数中指定的文件:
$message = $_GET['w'];
$logfile = 'logfile.log';
// Debug: A line for verifying I have the message
echo "Writing message '$message' to logfile<br>";
error_log($message."\n", 3, $logfile);
// Debug: read back the log file to verify thatthe line has been written
readfile($logfile);
请注意附加到邮件的 newline
,因为 error_log()
不会为您执行此操作。
另请注意,必须设置权限以允许 Web 服务器写入目标文件。无论使用 error_log()
还是 file_put_contents()
PHP参考是here