当前位置:首页 » 编程语言 » syslogphp

syslogphp

发布时间: 2022-07-11 19:58:24

php 怎么获取 linux磁盘读写io使用率

1.使用iotop命令

使用该命令有个条件,Linux内核要高于2.6.20的版本,版本过低则没有此命令,执行效果如下图所示:

2:block_mp方法

首先,关闭syslog服务,然后开启block_mp,最后正则表达式提取dmesg信息。
/etc/init.d/syslog stop
echo 1 > /proc/sys/vm/block_mp
dmesg | egrep "READ|WRITE|dirtied" | egrep -o '([a-zA-Z]*)' | sort | uniq -c | sort -rn | head
执行结果如下图所示:

注意:操作完成后请关闭block_mp和启动syslog
echo 0 > /proc/sys/vm/block_mp #关闭block_mp
/etc/init.d/syslog start #启动syslog

❷ 如何在linux系统下打造适合自己的PHP开发环境

一、系统约定
软件源代码包存放位置:/usr/local/src
源码编译安装位置(prefix):/usr/local/software_name
脚本以及维护程序存放位置:/usr/local/sbin
Mysql 数据库位置:/var/lib/MySQL(可按情况设置)
Apache 网站根目录:/home/www/wwwroot(可按情况设置)
Apache 虚拟主机日志根目录:/home/www/logs(可按情况设置)
Apache 运行账户:www:www
二、系统环境部署及调整
1. 检查系统是否正常

1
2
3
4

# more /var/log/messages(检查有无系统级错误信息)
# dmesg(检查硬件设备是否有错误信息)
# ifconfig(检查网卡设置是否正确)
# ping www.163.com(检查网络是否正常)

2. 关闭不需要的服务

1
2
3
4
5
6
7
8
9
10

# ntsysv
以下仅列出需要启动的服务,未列出的服务一律推荐关闭:
atd
crond
irqbalance
microcode_ctl
network
sendmail
sshd
syslog

3. 重新启动系统

1

# init 6

4. 配置 vim

1

# vi /root/.bashrc

在 alias mv='mv -i' 下面添加一行:alias vi='vim' 保存退出。

1

# echo 'syntax on' > /root/.vimrc

5. 使用 yum 程序安装所需开发包(以下为标准的 RPM 包名称)

1
2

# yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex
bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kerne

6. 定时校正服务器时钟,定时与中国国家授时中心授时服务器同步

1

# crontab -e

加入一行:

1

*/30 * * * * ntpdate 210.72.145.44

7. 源码编译安装所需包 (Source)
需要下载的文件

1
2
3
4
5
6
7

gd-2.0.34.tar.gz
libxml2-2.6.30.tar.bz2
libmcrypt-2.5.8.tar.bz2
cronolog-1.7.0-beta.tar.gz
openssl-0.9.8e.tar.gz (可选)
openssl-0.9.8e.tar.gz (可选)

7.1 GD2

1
2
3
4
5
6

# cd /usr/local/src
# tar xzvf gd-2.0.34.tar.gz
# cd gd-2.0.34
# ./configure --prefix=/usr/local/gd2
# make
# make install

7.2 LibXML2

1
2
3
4
5
6

# cd /usr/local/src
# tar xjvf libxml2-2.6.30.tar.bz2
# cd libxml2-2.6.30
# ./configure --prefix=/usr/local/libxml2
# make
# make install

7.3 LibMcrypt

1
2
3
4
5
6

# cd /usr/local/src
# tar xjvf libmcrypt-2.5.8.tar.bz2
# cd libmcrypt-2.5.8
# ./configure –prefix=/usr/local/libmcrypt
# make
# make install

7.4 Apache日志截断程序

1
2
3
4
5
6

# cd /usr/local/src
# tar xzvf cronolog-1.7.0-beta.tar.gz
# cd cronolog-1.7.0-beta
# ./configure –prefix=/usr/local/cronolog
# make
# make install

8. 升级OpenSSL和OpenSSH

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# cd /usr/local/src
# tar xzvf openssl-0.9.8e.tar.gz
# cd openssl-0.9.8e
# ./config --prefix=/usr/local/openssl
# make
# make test
# make install
# cd ..
# tar xzvf openssh-4.7p1.tar.gz
# cd openssh-4.7p1
# ./configure \
"--prefix=/usr" \
"--with-pam" \
"--with-zlib" \
"--sysconfdir=/etc/ssh" \
"--with-ssl-dir=/usr/local/openssl" \
"--with-md5-passwords"
# make
# make install

(1)禁用 SSH V1 协议 找到:

1

#Protocol 2,1

改为:

1

Protocol 2

(2)禁止root直接登录,此处先建立一个普通系统用户:

1
2

# useradd username
# passwd username

找到:

1

#PermitRootLogin yes

改为:

1

PermitRootLogin no

(3)禁用服务器端GSSAPI,找到以下两行,并将它们注释:

1
2

GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

(4)禁用 DNS 名称解析,找到:

1

#UseDNS yes

改为:

1

UseDNS no

(5)禁用客户端 GSSAPI

1

# vi /etc/ssh/ssh_config

找到:

1

GSSAPIAuthentication yes

将这行注释掉。
最后,确认修改正确后重新启动 SSH 服务

1
2

# service sshd restart
# ssh -v

确认 OpenSSH 以及 OpenSSL 版本正确。

三、编译安装L.A.M.P环境
1. 下载软件

1

# cd /usr/local/src

下载文件mysql,apache,php,请到下面网址下载相应软件

1
2
3

http://www.apache.org/ (推荐版本:2.2.21)
http://www.php.net/ (推荐版本:5.2.17)
http://www.mysql.com/

2. 编译安装MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# tar xzvf MySQL-5.0.45-linux-i686-glibc23.tar.gz
# mv MySQL-5.0.45-linux-i686-glibc23 /usr/local/
# ln -s /usr/local/ MySQL-5.0.45-linux-i686-glibc23 /usr/local/MySQL
# useradd MySQL
# chown -R MySQL:root /usr/local/MySQL/
# cd /usr/local/MySQL
# ./scripts/MySQL_install_db --user=MySQL
# cp ./support-files/MySQL.server /etc/rc.d/init.d/MySQLd
# chown root:root /etc/rc.d/init.d/MySQLd
# chmod 755 /etc/rc.d/init.d/MySQLd
# chkconfig --add MySQLd
# chkconfig --level 3 5 MySQLd on
# cp ./support-files/my-huge.cnf /etc/my.cnf
# mv /usr/local/MySQL/data /var/lib/MySQL
# chown -R MySQL:MySQL /var/lib/MySQL/
# vi /etc/my.cnf

3. 编译安装Apache

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# cd /usr/local/src
# tar xjvf httpd-2.2.21.tar.bz2
# cd httpd-2.2.21
# ./configure \
"--prefix=/usr/local/apache2" \
"--with-included-apr" \
"--enable-so" \
"--enable-deflate=shared" \
"--enable-expires=shared" \
"--enable-rewrite=shared" \
"--enable-static-support" \
"--disable-userdir"
# make
# make install
# echo '/usr/local/apache2/bin/apachectl start ' >> /etc/rc.local

4. 编译安装PHP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# cd /usr/local/src
# tar xjvf php-5.2.17.tar.bz2
# cd php-5.2.17
# ./configure \
"--prefix=/usr/local/php" \
"--with-apxs2=/usr/local/apache2/bin/apxs" \
"--with-config-file-path=/usr/local/php/etc" \
"--with-MySQL=/usr/local/MySQL" \
"--with-libxml-dir=/usr/local/libxml2" \
"--with-gd=/usr/local/gd2" \
"--with-jpeg-dir" \
"--with-png-dir" \
"--with-bz2" \
"--with-freetype-dir" \
"--with-iconv-dir" \
"--with-zlib-dir " \
"--with-openssl=/usr/local/openssl" \
"--with-mcrypt=/usr/local/libmcrypt" \
"--enable-soap" \
"--enable-gd-native-ttf" \
"--enable-ftp" \
"--enable-mbstring" \
"--enable-exif" \
"--disable-ipv6" \
"--disable-cgi" \
"--disable-cli"
# make
# make install
# mkdir /usr/local/php/etc
# cp php.ini-dist /usr/local/php/etc/php.ini

5. 整合Apache与PHPP

1

# vi /usr/local/apache2/conf/httpd.conf

找到:

1

AddType application/x-gzip .gz .tgz

在该行下面添加

1

AddType application/x-httpd-php .php

找到:

1

DirectoryIndex index.html

将该行改为

1

DirectoryIndex index.html index.htm index.php

找到:

1
2
3
4

#Include conf/extra/httpd-mpm.conf
#Include conf/extra/httpd-info.conf
#Include conf/extra/httpd-vhosts.conf
#Include conf/extra/httpd-default.conf

去掉前面的“#”号,取消注释。注意:以上 4 个扩展配置文件中的设置请按照相关原则进行合理配置!修改完成后保存退出。

1

# /usr/local/apache2/bin/apachectl restart

6. 查看确认L.A.M.P环境信息、提升 PHP 安全性
在网站根目录放置 phpinfo.php 脚本,检查phpinfo中的各项信息是否正确。
确认 PHP 能够正常工作后,在 php.ini 中进行设置提升 PHP 安全性。

1

# vi /etc/php.ini

找到:

1

disable_functions =

设置为:

1
2

phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,
ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

❸ 如何在linux下安装多个不同版本的PHP

Linux下部署php多版本共存
背景说明
自php7问世,身为最新版本控的我马上升级体验,但是由于服务器上还有旧程序在运行,只好部署一个php多版本共存环境。
现有环境是lnmp
- CentOS 6.7
- nginx 1.10.1
- mariadb-10.0.26
- php 7.0.8
为了更好兼容旧的php程序,推荐使用5.4.45. 主要是兼容mysql扩展。
开始安装
首先要下载php-5.4.45.tar.gz源码包。
通过源码安装
# tar xzvf php-5.4.45.tar.gz
# cd php-5.4.45

# ./configure --prefix=/usr/local/php54 --with-config-file-path=/usr/local/php54/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-intl --with-xsl

# make ZEND_EXTRA_LIBS='-liconv'
# make install
# cp php.ini-proction /usr/local/php/etc/php.ini

------------------------------------------------------------------------------------------------
php.ini 配置
post_max_size = 50M
upload_max_filesize = 50M
date.timezone = PRC
short_open_tag = On
cgi.fix_pathinfo=0
max_execution_time = 300
disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
------------------------------------------------------------------------------------------------
php-fpm.conf 配置
------------------------------
# vim /usr/local/php/etc/php-fpm.conf1
[global]
pid = /usr/local/php54/var/run/php-fpm.pid
error_log = /usr/local/php54/var/log/php-fpm.log
log_level = notice

[www]
listen = /tmp/php54-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1:9001
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 40
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 40
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log

----------------------------------------------------------------------------------
启动 php-fpm
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php54-fpm
# chmod +x /etc/init.d/php54-fpm
# /etc/init.d/php54-fpm start
-------------------------------------------------------------------------------------------
修改nginx配置,对需要的服务配置使用php-5.4.45
location ~ [^/]\.php(/|$)
{
try_files $uri =404;
fastcgi_pass unix:/tmp/php54-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
----------------------------------------------------------------------------------------
配置php-5.4.45 的php54-fpm 开机自动启动
# chkconfig --add php54-fpm
# chkconfig php54-fpm on

❹ 请教syslog-ng如何实时插入到数据库

我在使用syslog-ng搭建日志服务器中已经讲了如何将syslog-ng配置为中心日志服务器,下面介绍如何将syslogng的日志写入mysql数据库

系统:Gentoo-2007

1、修改/etc/syslog-ng/syslog-ng.conf,添加

CODE:
source s_remote {
udp(ip(0.0.0.0) port(514));
};

destination r_mysql {
program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog < /var/log/mysql.pipe");
pipe("/var/log/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));
};
log { source(s_remote); destination(r_mysql); };

2、建立mysql.pipe文件按
#mkfifo /var/log/mysql.pipe

3、重新启动syslog-ng
#/etc/init.d/syslog-ng restart

这种方法如果结合phpsyslogng一起使用,就可以在浏览器中对日志进行进一步的过滤和查看,非常方便。

❺ 如何将syslogng的日志写入MySQL数据库

转载我在使用syslog-ng搭建日志服务器中已经讲了如何将syslog-ng配置为中心日志服务器,下面介绍如何将syslogng的日志写入mysql数据库

系统:Gentoo-2007

1、修改/etc/syslog-ng/syslog-ng.conf,添加

CODE:
source s_remote {
udp(ip(0.0.0.0) port(514));
};

destination r_mysql {
program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog < /var/log/mysql.pipe");
pipe("/var/log/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));
};
log { source(s_remote); destination(r_mysql); };

2、建立mysql.pipe文件按
#mkfifo /var/log/mysql.pipe

3、重新启动syslog-ng
#/etc/init.d/syslog-ng restart

这种方法如果结合phpsyslogng一起使用,就可以在浏览器中对日志进行进一步的过滤和查看,非常方便。

❻ 记录PHP错误日志 display_errors与log_errors的区别

display_errors
错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利。推荐关闭此选项。
display_errors
=
On
开启状态下,若出现错误,则报错,出现错误提示
dispaly_errors
=
Off
关闭状态下,若出现错误,则提示:服务器错误。但是不会出现错误提示
log_errors
在正式环境下用这个就行了,把错误信息记录在日志里。正好可以关闭错误回显。
对于PHP开发人员来说,一旦某个产品投入使用,那么第一件事就是应该将display_errors选项关闭,以免因为这些错误所透露的路径、数据库连接、数据表等信息而遭到黑客攻击。
某个产品投入使用后,难免会有错误信息,那么如何记录这些对开发人员非常有用的信息呢?
将PHP的log_errors开启即可,默认是记录到WEB服务器的日志文件里,比如Apache的error.log文件。
当然也可以记录错误日志到指定的文件中。
复制代码
代码如下:
#
vim
/etc/php.inidisplay_errors
=
Off
log_errors
=
On
error_log
=
/var/log/php-error.log
另外也可以设定error_log
=
syslog,使这些错误信息记录到操作系统的日志里。
display_errors
=
Off
//display中文意思是显示所以display_error=off的意思就是不显示错误了!
error_reporting
设定错误讯息回报的等级
2047我记得应该是E_ALL。
php.ini
文件中有许多配置设置。您应当已经设置好自己的
php.ini
文件并把它放在合适的目录中,就像在
Linux
上安装
PHP

Apache
2
的文档说明中所示的那样(请参阅
参考资料)。在调试
PHP
应用程序时,应当知道两个配置变量。下面是这两个变量及其默认值:
display_errors
=
Off
//关闭所有错误信息,为ON时为显示所有错误信息。
error_reporting
=
E_ALL
E_ALL能从不良编码实践到无害提示到出错的所有信息。E_ALL
对于开发过程来说有点太细,因为它在屏幕上为一些小事(例如变量未初始化)也显示提示,会搞糟浏览器的输出
所以不建议使用2047,最好把默认值改为:error_reporting
=
E_ALL
&
~E_NOTICE
PHP.ini中display_errors
=
Off失效的解决
问题:
PHP设置文件php.ini中明明已经设置display_errors
=
Off,但是在运行过程中,网页上还是会出现错误信息。
解决:
经查log_errors=
On,据官方的说法,当这个log_errors设置为On,那么必须指定error_log文件,如果没指定或者指定的文件没有权限写入,那么照样会输出到正常的输出渠道,那么也就使得display_errors
这个指定的Off失效,错误信息还是打印了出来。于是将log_errors
=
Off,问题就解决了。
经常见到error_reporting(7)直意为:设定错误讯息回报的等级。
value
constant
1
E_ERROR
2
E_WARNING
4
E_PARSE
8
E_NOTICE
16
E_CORE_ERROR
32
E_CORE_WARNING
64
E_COMPILE_ERROR
128
E_COMPILE_WARNING
256
E_USER_ERROR
512
E_USER_WARNING
1024
E_USER_NOTICE
2047
E_ALL
2048
E_STRICT
然而7=1+2+4
就是出错时显示1
E_ERROR
2
E_WARNING
4
E_PARSE
复制代码
代码如下:
<?php
//禁用错误报告
error_reporting(0);
//报告运行时错误
error_reporting(E_ERROR
|
E_WARNING
|
E_PARSE);
//报告所有错误
error_reporting(E_ALL);
?>

❼ syslog/reports.php的格式在哪

syslog/reports.php的格式在哪
Osworkflow中的State是由step和status联合表达的,一个State就是一个step中的某个status;而state的转换由action来驱动,类似状态图中的event,因为一个event对应一个action嘛。 Jbpm的如来神掌就没有上面的简单了,它结合应用了状态图+活动图+PetriNet的知识,而且,这里的活动图还是UML2.0版的。UML2.0的活动图中,节点不叫活动(Activity)而叫动作(action),活动成了一个高层次的概念,它包含一个动作序列。一个活动图展现一系列的动作,这些动作组成了活动。Jbpm把action也改名了,称为state。Jbpm使用的状态图的概念有transition/event等,这个自己去看吧。

❽ php openlog()函数怎么用最好能详细说明,非常感谢!

本函数会打开操作系统的纪录机制 (logger)。参数 ident 会加到纪录的字符串中。参数 option 的值包括了 LOG_PID、LOG_CONS、LOG_ODELAY、LOG_NDELAY、LOG_NOWAIT、LOG_PERROR,在 Win32 系统中,只有 LOG_PID 有效。参数 facility 的值可能为 LOG_KERN、LOG_USER、LOG_MAIL、LOG_DAEMON、LOG_AUTH、LOG_SYSLOG、LOG_LPR、LOG_NEWS、LOG_UUCP、LOG_CRON 或 LOG_AUTHPRIV,在 Win32 系统上,本参数是无效的字段。本函数呼叫 UNIX 系统的 openlog() 函数,因此在 Windows 系列的操作系统中,本函数没有完全的实作。

使用范例
<?php
openlog("FUN", LOG_PID | LOG_CONS, LOG_USER);
syslog(LOG_INFO, "Wa ha ha ....");
closelog();
?>

参考
syslog() closelog()

❾ php+nginx如何在浏览器输出错误日志

要想让php-fpm显示错误日志,首先需要配置php-fpm。
在php-fpm的配置文件中(一般位于php安装目录下的etc/php-fpm.conf)配置php错误日志的文件路径。

1
2
3
4
5
6

; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; in a local file.
; Note: the default prefix is /home/wangwei/php/var
; Default Value: log/php-fpm.log
;error_log = log/php-fpm.log

如上是我的php-fpm.conf文件中配置错误日志的地方。把error_log = log/php-fpm.log之前的;去掉,然后修改为:

1
2
3
4
5
6

; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; in a local file.
; Note: the default prefix is /home/wangwei/php/var
; Default Value: log/php-fpm.log
error_log = /home/work/log/php-fpm.log.wf

修改之后,保存配置,然后重启php-fpm就可以啦。
注意如果用相对路径的话,的路径的前缀是基于php安装目录的var目录的。

热点内容
php与java的区别 发布:2024-05-17 16:12:48 浏览:339
registrar服务器地址是什么 发布:2024-05-17 16:11:46 浏览:112
订阅号助手如何找到密码 发布:2024-05-17 15:57:47 浏览:711
搜解压缩 发布:2024-05-17 15:38:32 浏览:764
水泵扬程算法 发布:2024-05-17 15:37:29 浏览:977
英雄联盟技能脚本 发布:2024-05-17 14:59:41 浏览:444
全名k歌安卓手机里面怎么录屏 发布:2024-05-17 14:40:07 浏览:180
常用数据库介绍 发布:2024-05-17 14:31:38 浏览:504
中孚存储介质信息消除工具 发布:2024-05-17 14:31:33 浏览:589
服务器访问ip如何调转主页 发布:2024-05-17 14:30:33 浏览:789