msgbartop
PHP源码分析,Zend引擎分析,Web相关技术研究,Web技术分享–左手代码 右手诗
msgbarbottom

18 Jun 08 深入理解PHP原理之Opcodes

最近要给Yahoo的同事们做一个关于PHP和Apache处理请求的内部机制的讲座,刚好写了些关于Opcodes的文字,就发上来了,这个文章基于 Sara Golemon的 Understanding OPcode

01 May 08 汉字和Unicode码(utf-8)之间的转换(Pack/Unpack)

保证你要转换的字符串编码为UTF8,如果不是,请iconv cnStr成utf8

$cnStr = "中"; //utf8的中文

//unicode
$code = unpack("H6codes", $cnStr);

//汉字
$cnStr = pack("H6", $code['codes']);

如果需要的是unicode的编码值, 那只要把汉字iconv成unicode再unpack就行了.

恩, pack/unpack很强大,, 和c语言交换数据, 二进制方式的序列化,操作二进制文件.. etc…

21 Apr 08 关于PHP你可能不知道的-PHP的事件驱动化设计

在PHP中有这么一族函数,他们是对UNIX的V IPC函数族的包装。
它们很少被人们用到,但是它们却很强大。巧妙的运用它们,可以让你事倍功半。
它们包括:
信号量(Semaphores)
共享内存(Shared Memory)
进程间通信(Inter-Process Messaging, IPC)
基于这些,我们完全有可能将PHP包装成一基于消息驱动的系统。

18 Apr 08 C++判断本机的字节序的方法

作者: laruence(http://www.laruence.com)
本文地址: http://www.laruence.com/2008/04/18/104.html
转载请注明出处

cT=”0″;nc=”#444444″;nBgc=”";nBorder=”#196FCB”;tc=”#FFFFFF”;tBgc=”#19A1FE”;tBorder=”#196FCB”;tDigg=”%E6%8E%A8%E8%8D%90″;tDugg=”%E5%B7%B2%E8%8D%90″;defaultItemUrl=”WEB_URL”;defaultFeedUrl =”http://www.laruence.com/feed”;

 
1. bool isBigEnding()…{
    int i = 1;
    return ((char)i) == 1;
}
2. bool isBigEnding()…{
    union …{
       int i;
       char c;
   }x=…{1};
   return x.c == 1;
}

3. bool isBigEnding…{
   union …{
      int i ;
      struct …{
          unsigned short int b : 8;
      }bit;
   }x=…{1};
   return x.bit.b == 1;
}

17 Apr 08 页面乱码问题根源浅析

这个问题已经遇到过俩次了,就是页面中明确指明了编码是UTF8,但是显示是乱码。

虽然知道解决方法,也知道是Apache的原因,但是一直没有去找其所以然,今天趁机,就研究了一下。

首先, 关闭PHP配置文件php.ini中的default_charset:

1. 页面没有指定charset , Apache配置defaultcharst gbk , 页面文件编码是utf-8…..

16 Apr 08 采用PHP实现”服务器推”技术的聊天室

传统的B/S结构的应用程序,都是采用”客户端拉”结束来实现客户端和服务器端的数据交换。
本文将通过结合Ticks(可以参看我的另外一篇文章:关于PHP你可能不知道的-PHP的事件驱动化设计 ),来实现一个服务器推的PHP聊天室简单构想。

16 Apr 08 编写提供对象给PHP使用的Module

还是那个关于开发安全签名的PHP模块, 今天将它包装成一个PHP的CLASS,也同样,网上的资料少之甚少,于是我想将经验写一篇,关于如何在Extension Module中创建一个可以被PHP访问的对象的文章。 和大家分享。

16 Apr 08 使用fscok实现异步调用PHP

Web 服务器执行一个脚本,可能几毫秒就完成,也可能几分钟都完不成。如果程序执行缓慢,用户可能没有耐心等下去,就关闭浏览器了。
而有的时候,我们更本不关心这些耗时的脚本的执行结果,但却还要等他执行完返回,才能继续下一步。
那么有没有什么办法,只是简单的触发调用这些耗时的脚本然后就继续下一步,让这些耗时的脚本在服务端慢慢执行?

接下来,我将使用fscokopen来实现这一功能。

14 Apr 08 PHP实现异步调用方法研究

作者: laruence(http://www.laruence.com)
本文地址: http://www.laruence.com/2008/04/14/318.html
转载请注明出处

cT=”0″;nc=”#444444″;nBgc=”";nBorder=”#196FCB”;tc=”#FFFFFF”;tBgc=”#19A1FE”;tBorder=”#196FCB”;tDigg=”%E6%8E%A8%E8%8D%90″;tDugg=”%E5%B7%B2%E8%8D%90″;defaultItemUrl=”WEB_URL”;defaultFeedUrl =”http://www.laruence.com/feed”;

浏览器和服务器之间是通过 HTTP 协议进行连接通讯的。这是一种基于请求和响应模型的协议。浏览器通过 URL 向服务器发起请求,Web 服务器接收到请求,执行一段程序,然后做出响应,发送相应的html代码给客户端。
这就有了一个问题,Web 服务器执行一段程序,可能几毫秒就完成,也可能几分钟都完不成。如果程序执行缓慢,用户可能没有耐心等下去,就关闭浏览器了。
而有的时候,我们更本不关心这些耗时的脚本的返回结果,但却还要等他执行完返回,才能继续下一步。
那么有没有什么办法,只是简单的触发调用这些耗时的脚本然后就继续下一步,让这些耗时的脚本在服务端慢慢执行?
经过试验,总结出来几种方法,和大家share:
1. 最简单的办法,就是在返回给客户端的HTML代码中,嵌入AJAX调用,或者,嵌入一个img标签,src指向要执行的耗时脚本。
这种方法最简单,也最快。服务器端不用做任何的调用。
[...]

09 Apr 08 使用C++编写Apache的模块 — 命令表,保存配置信息

还是和论文相关,要编写一个Apache的模块,挂在post read_request阶段,在第一时间,判断一个链接是否是而已连接请求,并在第一时间拒绝恶意连接请求。
首先遇到的第一个问题,就是需要从http.conf中读取配置信息,提供俩个配置指令,MaxNumber, TimeRange.指定在一段时间内的连接次数上限。
编写的时候,遇到的第一个问题就是,moudule申明,不能通过编译,编译器提示重复定义。查了N遍手边的apache源码分析,也没有找到原因,如: ……..

Pages:  1 2 3 ...5 6 7 8 9 10 11 12 13