2011-07-06 10 views
0

ログファイルをデータベーステーブルに変更しようと思っています。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 ; 
+0

あなたはこれまでにどのようなコードを作りましたか?あなたは良いスタートを持っているようです。 – Drazisil

+0

@Drazisil、process.phpにwhileループがあります: 'file_put_contents(" log_ "。posix_getpid()。" .txt "、$ print、FILE_APPEND | LOCK_EX);'これはログを生成します。 –

答えて

0

あなたがテーブルを持っている、あなたがファイルを持っています。テストファイルではなくデータベースを更新するためにprocess.phpファイルを変更する必要があるようです。

mysqlを使用している場合は、http://php.net/manual/en/book.mysqli.phpを開始するのがよいでしょう。

+0

はい私はそれを知っています!私が作成したデザインデザインがうまくいけばいいのですか? –

+0

実際の質問は「私のデータを考えれば、これは良いテーブルデザインだと思いますか?」その場合、はい。あなたは次回にあなたの質問を少し明確にしたいかもしれません。 – Drazisil

関連する問題