歡迎您光臨本站 註冊首頁

php-syslog-ng編譯安裝成功,可是出錯

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

php-syslog-ng編譯安裝成功,可是出錯

php-syslog-ng編譯成功,可是進入ie,提示
USING TABLE: logs
Query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
我用的是mysql5.0.27
httpd-2.2.3
php-5.1.6
phpsyslogng-2.8
libol-0.3.14
syslog-ng-1.6.5
什麼都成功了,就是進入ie,輸入口令后提示登陸成功,點擊Success! Click here!后提示上述錯誤,請問,是什麼原因導致的錯誤
此錯誤大致是語法錯誤,懷疑是php或mysql和phpsyslogng版本不符有關,換了好幾個版本了都不行,鬱悶
下面是mysql創建語句:
CREATE TABLE logs (
host varchar(32) default NULL,
facility varchar(10) default NULL,
priority varchar(10) default NULL,
level varchar(10) default NULL,
tag varchar(10) default NULL,
datetime datetime default NULL,
program varchar(15) default NULL,
msg text,
seq bigint(20) unsigned NOT NULL auto_increment,
PRIMARY KEY (seq), KEY host (host),
KEY program (program), KEY datetime (datetime),
KEY priority (priority), KEY facility (facility)
) TYPE=MyISAM;

# create table users under database syslog
CREATE TABLE users (
username varchar(32) default NULL,
pwhash char(40) default NULL,
sessionid char(32) default NULL,
exptime datetime default NULL,
PRIMARY KEY (username)
) TYPE=MyISAM;

# Create the table for the cache function
CREATE TABLE search_cache (
tablename varchar(32) DEFAULT NULL,
type ENUM('HOST','FACILITY'),
value varchar(32) DEFAULT NULL,
updatetime datetime DEFAULT NULL,
INDEX type_name (type, tablename)
) TYPE=MyISAM;

# Create the two tables used by the access control function
CREATE TABLE user_access (
username varchar(32) DEFAULT NULL,
actionname varchar(32) DEFAULT NULL,
access ENUM('TRUE','FALSE'),
INDEX user_action (username, actionname)
) TYPE=MyISAM;

CREATE TABLE actions (
actionname varchar(32) NOT NULL,
actiondescr varchar(64) DEFAULT NULL,
defaultaccess ENUM('TRUE','FALSE'),
PRIMARY KEY (actionname)
) TYPE=MyISAM;

# Add the available actions to the access control table
INSERT INTO actions (actionname, actiondescr, defaultaccess) VALUES ('add_user', 'Add users', 'TRUE');
INSERT INTO actions (actionname, actiondescr, defaultaccess) VALUES ('edit_user', 'Edit users (delete and change password)', 'TRUE')
;
INSERT INTO actions (actionname, actiondescr, defaultaccess) VALUES ('reload_cache', 'Reload search cache', 'TRUE');
INSERT INTO actions (actionname, actiondescr, defaultaccess) VALUES ('edit_acl', 'Edit access control settings', 'TRUE');

# Create user with admin/admin login
INSERT INTO users (username, pwhash) VALUES('admin', 'd033e22ae348aeb5660fc2140aec35850c4da997');

USE mysql;

# create users
INSERT INTO user (Host, User, Password) VALUES ('localhost','sysloguser', password('PW_HERE'));
INSERT INTO db (Host, Db, User) VALUES ('localhost','syslog','sysloguser');

INSERT INTO user (Host, User, Password) VALUES ('localhost','syslogfeeder', password('PW_HERE'));
INSERT INTO db (Host, Db, User) VALUES ('localhost','syslog','syslogfeeder');

INSERT INTO user (Host, User, Password) VALUES ('localhost','syslogadmin',password('PW_HERE'));
INSERT INTO db (Host, Db, User) VALUES ('localhost','syslog','syslogadmin');
COMMIT;
FLUSH PRIVILEGES;

# grant rights to user syslogadmin for backup purpose
GRANT USAGE ON *.* TO syslogadmin@localhost;
GRANT ALL ON syslog.* TO syslogadmin@localhost;
GRANT RELOAD ON *.* TO syslogadmin@localhost;

REVOKE ALL PRIVILEGES ON syslog.* FROM sysloguser@localhost;
GRANT USAGE ON *.* TO sysloguser@localhost;
GRANT SELECT ON syslog.* TO sysloguser@localhost;
GRANT UPDATE ON syslog.users TO sysloguser@localhost;

REVOKE ALL PRIVILEGES ON syslog.* FROM syslogfeeder@localhost;
GRANT USAGE ON *.* TO syslogfeeder@localhost;
GRANT INSERT ON syslog.* TO syslogfeeder@localhost;

GRANT ALL ON syslog.search_cache TO sysloguser@localhost;
GRANT SELECT ON syslog.user_access TO sysloguser@localhost;
GRANT ALL ON syslog.user_access TO syslogadmin@localhost;
GRANT SELECT ON syslog.actions TO sysloguser@localhost;
GRANT ALL ON syslog.actions TO syslogadmin@localhost;

下面是安裝步驟:
#tar xzvf libol-0.3.14.tar.gz
#cd libol-0.3.14
#./configure ;make;make install
#tar xzvf syslog-ng-1.6.5.tar.gz
#cd syslog-ng-1.6.5
#./configure --prefix=/usr/local/syslog-ng;make;make install
安裝完后,請注意在/usr/local/syslog-ng目錄下只有man和sbin兩個目錄,並未生成etc這個存放配置文件的目錄.如果此時啟動syslog-ng,系統會報錯稱未找到配置文件,因此,還要從上面解壓縮后的目錄複製一個示範配置文件到syslog-ng目錄下.
#mkdir -p /usr/local/syslog-ng/etc/syslog-ng
#cd /home/mct/syslog-ng-1.6.5/doc
#cp syslog-ng.conf.sample /usr/local/syslog-ng/etc/syslog-ng/syslog-ng.conf

Extract php-syslog-ng-2.8.tar.gz under Apache's document root (ex: /cd /var/www/html/)
tar zxvf   php-syslog-ng-2.8.tar.gz
mv php-syslog-ng syslog


3.Configuration

3.1 Create Database Schema

cd /var/www/html/syslog/scripts/
mysql -uroot -p < dbsetup.sql

3.2 Edit syslog-ng.conf

Edit syslog-ng.conf (default installation path will be /usr/local/etc/syslog-ng/ depends on your installation prefix argument)

=== Configuration file start here ===

options
{
chain_hostnames(no);
create_dirs (no);
dir_perm(0755);
dns_cache(yes);
keep_hostname(yes);
log_fifo_size(2048);
log_msg_size(8192);
long_hostnames(on);
perm(0644);
stats(3600);
sync(0);
time_reopen (10);
use_dns(yes);
use_fqdn(yes);
};

#----------------------------------------------------------------------
# Sources
#----------------------------------------------------------------------
# For Linux
#----------------------------------------------------------------------
source s_stream
{ unix-stream("/dev/log"); };

source s_internal
{ internal(); };

source s_kernel
{ pipe("/proc/kmsg" log_prefix("kernel: ")); };

source s_tcp
{ tcp(port(4800) keep-alive(yes) max_connections(100)); };

#----------------------------------------------------------------------
# Piping method
#----------------------------------------------------------------------
destination database { pipe("/tmp/mysql.pipe" template("INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC', '$PROGRAM', '$MSG' );\n") template-escape(yes)); };

#----------------------------------------------------------------------
# Logging to a database
#----------------------------------------------------------------------

log { source(s_stream);
source(s_internal);
source(s_kernel); destination(database); };
《解決方案》

回復 #1 xoolong 的帖子

哎,高手都去哪裡了啊?

[火星人 ] php-syslog-ng編譯安裝成功,可是出錯已經有639次圍觀

http://coctec.com/docs/service/show-post-29392.html