Iam想将日志文件更改为数据库表。从txt文件到数据库的日志记录系统
我执行多个shell_exec
和它的背景下,例如运行:
<?php
shell_exec("php process.php > /dev/null 2>&1 &");
shell_exec("php process.php > /dev/null 2>&1 &");
shell_exec("php process.php > /dev/null 2>&1 &");
shell_exec("php process.php > /dev/null 2>&1 &");
?>
虽然process.php
运行/循环 - 它会产生一个日志,假设进程ID是123
log_123.txt文件:
-----------------------------------------
Process ID: 123
- Loggin In
- Logged OK
- Checking xxxx (xxxxx)
- Sending Info
- Received xxxx 25252525
- Completed
------------------------------------------
Process ID: 123
- Loggin In
- Logged OK
- Checking xxxx (xxxxx)
- Sending Info
- Received xxxx 23424
- Completed
------------------------------------------
Process ID: 123
- Loggin In
- Logged OK
- Checking xxxx (xxxxx)
- FAIL
------------------------------------------
(每个进程有一个日志文件)
现在我想更改登录到数据库表日志中的文本文件,执行此操作的最佳方法是什么?
我想出了这个解决方案:
CREATE TABLE IF NOT EXISTS `log` (
`log_id` int(11) NOT NULL AUTO_INCREMENT,
`process_id` int(11) NOT NULL,
`process_date` datetime NOT NULL,
`log_output` varchar(200) NOT NULL,
`log_time` datetime NOT NULL,
PRIMARY KEY (`log_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
到目前为止您已经提出了哪些代码?你似乎有一个好的开始。 – Drazisil
@Drazisil,在process.php中有一个while循环:'file_put_contents(“log_”。posix_getpid()。“.txt”,$ print,FILE_APPEND | LOCK_EX);' - 这将生成一个日志。 –