2012年5月15日 | 标签:

 

//字符串转换成16进制
function str2hex($str){
    $hex = '';
    for($i=0,$length=mb_strlen($str); $i<$length; $i++){
        $hex .= dechex(ord($str{$i}));
    }
    return $hex;
}
//16进制转换成字符串
function hex2str($hex){
    $str = '';
    $arr = str_split($hex, 2);
    foreach($arr as $bit){
        $str .= chr(hexdec($bit));
    }
    return $str;
}
2012年5月3日 | 标签: lame
LAME 使用/参数说明
因为 LAME 是一个文字模式的程序,直接执行并不方便,下一次指令又只能够压缩一个档案,因此使用前导程序辅助可以说是必要的事情。 RazorLame 的 接口简单明了,方便使用,要设定的地方也并不多;在 Options -> General 之中,指定 LAME 执行文件的位置,然后就可以在其它的页面调节各种压缩的参数。如果想试试一些实验性(尚未正式公布)的参数,或者懒得慢慢检查每一页的设定,可以直接在 Options -> Advanced 中把写好的参数填入 Custom Options 中,并选取 Only use custom options 即可。
Options -> Advanced 里面,有一个 Delete source file after encoding 的选项,选取之后,编码完成的 WAV 文件会被自动删除;蛮方便的。
这里是 RazorLame 设定对照 LAME 参数的表格,可以对照以下的参数说明查阅各项设定值的数据。
2012年4月22日 | 标签: nginx, upgrade
cd /data/src
wget http://www.nginx.org/download/nginx-1.0.15.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.bz2
tar jxvf pcre-8.30.tar.bz2
tar zxvf nginx-1.0.15.tar.gz
# 查看之前的编译参数
/usr/local/nignx/sbin/nginx -V

./configure --user=www --group=www --with-pcre=/data/src/pcre-8.30
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp ./objs/nginx /usr/local/nginx/sbin/nginx
# 检查配置文件是否有异常
/usr/local/nginx/sbin/nginx -t
kill -USR2 `cat /usr/local/nginx/nginx.pid`
kill -QUIT `cat /usr/local/nginx/nginx.pid.oldbin`

cd /data/src
wget http://www.nginx.org/download/nginx-1.0.15.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.bz2
tar jxvf pcre-8.30.tar.bz2
tar zxvf nginx-1.0.15.tar.gz
# 查看之前的编译参数
/usr/local/nignx/sbin/nginx -V

./configure –user=www –group=www –with-pcre=/data/src/pcre-8.30
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp ./objs/nginx /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -t
kill -USR2 `cat /usr/local/nginx/nginx.pid`
kill -QUIT `cat /usr/local/nginx/nginx.pid.oldbin`

2012年4月22日 | 标签: mysql, upgrade

mysql5.1升级到mysql5.5

cd /data/src
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.23-linux2.6-i686.tar.gz/from/http://ftp.jaist.ac.jp/pub/mysql/
tar zxvf mysql-5.5.23-linux2.6-i686.tar.gz
cp -r mysql-5.5.23-linux2.6-i686 /usr/local/
chown -R mysql:mysql /usr/local/mysql-5.5.23-linux2.6-i686/
service mysqld stop && mv /usr/local/mysql /usr/local/mysql.bak && ln -s /usr/local/mysql-5.5.23-linux2.6-i686/ /usr/local/mysql && service mysqld start
cd /usr/local/mysql/bin/mysql_upgrade -uroot -p

注意:需要运行mysql_upgrade
mysql_upgrade包含一下三个命令:
# mysqlcheck –check-upgrade –all-databases –auto-repair
# mysql_fix_privilege_tables
# mysqlcheck –all-databases –check-upgrade –fix-db-names –fix-table-names
在每一次的升级过程中,建议执行mysql_upgrade这个命令,通过mysqlcheck命令帮我们去检查表是否兼容新版本的数据库同时作出修复,使用mysql_fix_privilege_tables命令去升级权限表。

如果出现错误,第一反应要查看mysql错误日志。

[ERROR] /usr/local/mysql/bin/mysqld: unknown variable ‘default_table_type=INNODB’
注释my.cnf中的default_table_type=INNODB

把所有INNODB表转换成MYISAM表的脚本
sed -i ‘s/$opt_type/$opt_engine/’ /usr/local/mysql/bin/mysql_convert_table_format
/usr/local/mysql/bin/mysql_convert_table_format –user=’root’ –password=’lnmpblog.com’ –socket=’/tmp/mysql.sock’ –type=’INNODB’

2012年4月20日 | 标签: linux, pptp

centos 6.2 64.bit的桌面版本。配置vpn客户端.

步骤:

1.yum  -y install pptp

2.wget ftp://mirror.switch.ch/pool/1/mirror/epel/6/x86_64/NetworkManager-pptp-0.8.0-1.git20100411.el6.x86_64.rpm

3.rpm  -ivh NetworkManager-pptp-0.8.0-1.git20100411.el6.x86_64.rpm

4./etc/init.d/NetworkManager restart

5.添加vpn账户(略)

2012年4月18日 | 标签: php, 实体字符

html实体字符,在很多垃圾文字中,会采用

最常用的字符实体

显示结果 描述 实体名称 实体编号
空格 &nbsp; &#160;
< 小于号 &lt; &#60;
> 大于号 &gt; &#62;
& 和号 &amp; &#38;
引号 &quot; &#34;
撇号 &apos; (IE不支持) &#39;

其他一些常用的字符实体

显示结果 描述 实体名称 实体编号
&cent; &#162;
£ &pound; &#163;
¥ 日圆 &yen; &#165;
§ &sect; &#167;
© 版权 &copy; &#169;
® 注册商标 &reg; &#174;
× 乘号 &times; &#215;
÷ 除号 &divide; &#247;

 

 

检测中英文实体字符简单代码

<?php
$message = <<<AAA
&#x0061;http://www.lnmpblog.com

http://www.lnmpblog.com

&#x0061;

http://www.lnmpblog.com

&#x0061;

AAA;

$a = preg_match("@&#\w{5};@mis",$message);

var_dump($a);

print($message);
2012年4月14日 | 标签: linux, ntpdate, xen

xen的虚拟机,有些时候需要修改时间,但单纯的date –s time是无法修改系统时间的。需要如下操作:

1.       Root下执行 echo 1 > /proc/sys/xen/independent_wallclock

2.       然后再执行date –s 14:11:12

3.       也可以和Internet同步时间,命令如下:/usr/sbin/ntpdate pool.ntp.org。如果出现以下提示 #/usr/sbin/ntpdate pool.ntp.org

29 Dec 14:06:34 ntpdate[30589]: the NTP socket is in use, exiting

需要先stop NTP,两种方式:

A. root下直接sevice ntpd stop

#service ntpd stop

Shutting down ntpd:                              [ OK ]

B. 手工stop ntpd

[root@Xen4 init.d]# pwd

/etc/rc.d/init.d

[root@Xen4 init.d]# ./ntpd stop

Shutting down ntpd:

2012年4月14日 | 标签: iptables, linux, xen

直接贴脚本

eth0就是xen-0的外网ip192.168.7.200

virbr0 192.168.122.0/24是xen-0的内网网段

 

#!/bin/sh
#chkconfig:345 10 90
#description:firewall

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:$PATH
export PATH

/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp

function start() {
        echo -n "Staring to write your Iptbales:..."
        echo "1">/proc/sys/net/ipv4/ip_forward
        iptables -t mangle -F
        iptables -t mangle -X
        iptables -t mangle -Z
        iptables -F
        iptables -X
        iptables -Z
        iptables -t nat -F
        iptables -t nat -X
        iptables -t nat -Z
        iptables -P INPUT  DROP
        iptables -P OUTPUT ACCEPT
        iptables -P FORWARD ACCEPT
        iptables -t nat -P PREROUTING ACCEPT
        iptables -t nat -P POSTROUTING ACCEPT
        iptables -t nat -P OUTPUT ACCEPT

        iptables -A INPUT -i lo -j ACCEPT
        iptables -A INPUT -p ICMP -j ACCEPT
        iptables -A INPUT -p tcp --dport 22 -j ACCEPT
        iptables -A INPUT -p tcp --dport 10022 -j ACCEPT
        iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 10022 -j DNAT --to-destination 192.168.122.100:22
        iptables -t nat -A POSTROUTING -s 192.168.122.0/255.255.255.0 -j SNAT --to-source 192.168.7.200

        /sbin/iptables -A OUTPUT -p tcp --sport 31337 -j DROP
        /sbin/iptables -A OUTPUT -p tcp --sport 31340 -j DROP
        /sbin/iptables -A OUTPUT -p tcp --sport 31335 -j DROP
        /sbin/iptables -A OUTPUT -p tcp --sport 20034 -j DROP
        /sbin/iptables -A OUTPUT -p tcp --sport 27665 -j DROP
        /sbin/iptables -A OUTPUT -p tcp --sport 27444 -j DROP
        /sbin/iptables -A OUTPUT -p tcp --sport 9704 -j DROP
        /sbin/iptables -A OUTPUT -p tcp --sport 2049 -j DROP
        /sbin/iptables -A OUTPUT -p tcp --sport 137 -j DROP
        /sbin/iptables -A OUTPUT -p tcp --sport 138 -j DROP
        /sbin/iptables -A OUTPUT -p tcp --sport 139 -j DROP
        /etc/rc.d/init.d/iptables save
        echo "Ok"
}

function stop() {
        echo -n "Cleaning your Iptables:..."
        iptables -t mangle -F
        iptables -t mangle -X
        iptables -t mangle -Z
        iptables -F
        iptables -X
        iptables -Z
        iptables -t nat -F
        iptables -t nat -X
        iptables -t nat -Z
        /sbin/iptables -P INPUT ACCEPT
        /sbin/iptables -P OUTPUT ACCEPT
        /etc/rc.d/init.d/iptables save
        echo "Ok"
}

case "$1" in
start)
        start
;;
stop)
        stop
;;
restart)
        stop
        start
;;
*)
        echo "Usage: $0 {start|stop|restart}"
esac
exit 0
2012年4月14日 | 标签:

Xen – Networking
Step 0 : Xen底下的網路架構
Step 1 : 虛擬還是實體
Step 2 : network-bridge
Step 3 : network-nat
Step 4 : network-route
Step 5 : 參考網頁

Step 0 : Xen底下的網路架構
在虛擬化下的環境就屬網路裝置最為複雜難懂,不過模式大致可以畫分成 3 種 1.network-bridge , 2.network-nat 和 3.network-route 最主要就是看的懂虛擬與實際的網路裝置是怎麼對應的(Logical NICs <-> Physical NICs).

2012年4月7日 | 标签: linux, xorg

第一步当然是查看当前显示器的最佳分辨率,这个可以通过查看显示器自身的配置菜单得知,或者参考这里

第二步是查看当前各显示器的配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ xrandr
Screen 0: minimum 320 x 200, current 2464 x 900, maximum 8192 x 8192
VGA1 connected 1024×768+1440+0 (normal left inverted right x axis y axis) 0mm x 0mm
1360×768       59.8
1024×768       60.0*
800×600        60.3     56.2
848×480        60.0
640×480        59.9     59.9
LVDS1 connected 1440×900+0+0 (normal left inverted right x axis y axis) 303mm x 190mm
1440×900       60.0*+   59.9
1360×768       59.8     60.0
1152×864       60.0
1024×768       60.0
800×600        60.3     56.2
640×480        59.9

这里可以看到我要调节的外接显示器名字是VGA1,当前分辨率是1024×768。

第三步,我们来生成一个新的分辨率选项,1280×1024,刷新率为60Hz:

 

1
2
3
4
5
~$ sudo cvt 1280 1024 60
# 1280×1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz
Modeline “1280x1024_60.00″  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync

~$ sudo xrandr –newmode “1280x1024_60.00″  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync

接下来,把上面这个选项分配给显示器VGA1使用:

1
~$ sudo xrandr –addmode VGA1 “1280x1024_60.00″

最后,就可以通过菜单System->preferences->Monitors来应用新的分辨率了

WordPress SEO fine-tune by Meta SEO Pack from Poradnik Webmastera