centos Use sun jdk

1 jdk-6u30-linux-i586.rpm.bin
2 chmod 777 jdk-6u30-linux-i586.rpm.bin
3 [root@www ~]#
vi /etc/profile
# add at the last line

export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
[root@www ~]#source /etc/profile[user@www]# alternatives --install /usr/bin/java java /opt/jdk1.6.0_07/bin/java 2[user@www]# alternatives --config javajava -version


More »

用telnet模拟一个HTTP REQUEST请求

例如, 请求www.qq.com在命令行下, 输入:telnet www.qq.com 80

粘贴一下内容:

GET / HTTP/1.1
Host:www.qq.com
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:8.0.1) Gecko/20100101 Firefox/8.0.1
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language:zh-cn,zh;q=0.5
Accept-Encoding:gzip, deflate
Accept-Charset:GB2312,utf-8;q=0.7,*;q=0.7
Connection:keep-alive
Cache-Control:max-age=0

正常情况下, 你会看到乱码.因为Accept-Encoding:gzip, deflate 指示:接收gzip压缩的二进制内容.命令行下是无法查看的.

退出telnet

再次在 命令行里输入: telnet www.qq.com 80

GET / HTTP/1.1
Host:www.qq.com
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:8.0.1) Gecko/20100101 Firefox/8.0.1
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language:zh-cn,zh;q=0.5
Accept-Encoding:deflate
Accept-Charset:GB2312,utf-8;q=0.7,*;q=0.7
Connection:keep-alive
Cache-Control:max-age=0

模拟完成.

和浏览器接收到的一模一样.

普及:

在互联网七层协议

HTTP Application layer

TCP Transport layer

IP Network layer

数据链路层 Data link layer

物理层 Physical layer

里 IP TCP HTTP 是这个位置.

我们 的一个请求  是 和 远程服务器 建立TCP链接, 然后 使用HTTP协议, 发送一个请求REQUEST.

START LINE :

GET /tools.html HTTP/1.1

HTTP/1.1 200 OK

HEADER FIELD 

User-agent: Mozilla/4.75 [en] (Win98; U)
Host: www.joes-hardware.com
Accept: text/html, image/gif, image/jpeg
Accept-language: en

Date: Sun, o1 Oct 2000 23:25:17 GMT
Server: Apache/1.3.11 BSafe-SSL/1.38 (Unix)
Last-modified: Tue, 04 Jul 2000 09:46:21 GMT
Content-length: 403
Content-type: text/html

BODY

<HTML>
<HEAD><TITLE>Joe’s Tools</TITLE></HEAD>
<BODY>
<H1>Tools Page</H1>
<H2>Hammers</H2>
<P>Joe’s Hardware Online has the largest selection of
hammers on the earth.</P>
<H2><A NAME=drills></A>Drills</H2>
<P>Joe’s Hardware has a complete line of cordless
and corded drills, as well as the latest in
plutonium-powered atomic drills, for those big
around the house jobs./<P>...
</BODY>
</HTML>

More »

MySQL的Blob字段

'; // mark3 如何获取文件内容 $img = file_get_contents('1.jpg'); $img_string = bin2hex($img); if (strcmp($img_string, $content_string) === 0) { echo '
' . 'string from db:' . $content_string . '
'; echo '
' . 'string from file:' . $img_string . '
'; echo 'string match! 字符串完全相同!'; } ?>

More »

使用VLD 扩展, 查看php的opcode

1 VLD 项目 地址: http://derickrethans.nl/projects.html#vld 

2 获取源代码: svn co svn://svn.xdebug.org/svn/php/vld/trunk vld 或者 http://pecl.php.net/package/vld 

3 进入目录 cd into the newly checked-out directory. 

4 使用phpize 然后 执行"./configure" 和 "make install" 

Create the configure script: phpize Now run "./configure" followed by "make install". 

5 之后编辑php.ini配置文件, 载入扩展. extension=memcache.so ;extension=gd.so extension=vld.so 

6 重启apache 使用这个命令: php -dvld.active=1 program.php 查看 opcode. 

关于opcode请参考:

 1 Zend Engine 2 opcode list http://cn2.php.net/manual/en/internals2.opcodes.php 

2 深入浅出PHP(Exploring PHP) http://www.laruence.com/2008/08/11/147.html 

3 Vulcan Logic Dumper http://derickrethans.nl/projects.html#vld

More »

js 强制刷新页面 js 在 iframe 中 刷新 页面

 setTimeout(function(){window.top.location.reload(window.top.location);},2000);

setTimeout设置超时 2秒 强制刷新(目的是清除缓存):window.top.location.reload(window.top.location); 普通刷新:window.top.location = window.top.location;

 

More »