當前位置:首頁 » 編程語言 » 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目錄的。

熱點內容
cf鬼跳腳本 發布:2025-03-10 01:33:34 瀏覽:176
python容錯 發布:2025-03-10 01:19:53 瀏覽:263
android招聘鄭州 發布:2025-03-10 01:06:37 瀏覽:109
手機問道腳本 發布:2025-03-10 01:06:37 瀏覽:166
網易大唐無雙手游專業腳本 發布:2025-03-10 00:52:13 瀏覽:77
王者榮耀安卓qq區戰區位置哪個最低 發布:2025-03-10 00:44:18 瀏覽:638
訪問手機內部存儲 發布:2025-03-10 00:35:10 瀏覽:847
本機伺服器地址改革 發布:2025-03-10 00:34:59 瀏覽:510
雲伺服器連接斷 發布:2025-03-10 00:25:56 瀏覽:853
瑞幸壓縮 發布:2025-03-10 00:23:50 瀏覽:634