Press "Enter" to skip to content

Zend Engine幻想

Zend Engine 将 PHP的执行机制划分为编译和执行无疑是革命性的举动。但现在看来,这似乎还未完全将这个思想贯彻到底。当前的Zend Engine虽然把编译和执行分成两个步骤来做,但这两个步骤对一个普通 .PHP脚本文件来说确是连续的。换句话说,当web服务器开始处理一个 php 脚本请求后,它将不得不每次都进行编译和执行两个步骤。很明显,对于一个开发完成不再进行经常性的修改的php脚本来说,这将是巨大的性能损失….

Filed in PHP应用, 转载
with 9 Comments

汉字和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…

Filed in PHP应用
with 6 Comments

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

在PHP中有这么一族函数,他们是对UNIX的V IPC函数族的包装。

它们很少被人们用到,但是它们却很强大。巧妙的运用它们,可以让你事倍功半。

它们包括:
信号量(Semaphores)
共享内存(Shared Memory)
进程间通信(Inter-Process Messaging, IPC)

基于这些,我们完全有可能将PHP包装成一基于消息驱动的系统。

Filed in PHP应用
with 49 Comments

页面乱码问题根源浅析

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

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

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

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

Filed in PHP应用
with 11 Comments

采用PHP实现"服务器推"技术的聊天室

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

Filed in PHP应用
with 22 Comments

采用PHP实现"服务器推"技术的聊天室

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

Filed in PHP应用
with 22 Comments

使用fscok实现异步调用PHP

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

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

Filed in PHP应用
with 35 Comments