当前位置: 编程技术>php
本页文章导读:
▪PHP下escape解码函数的实现方法
GB2312编码: 代码如下: function unescape($str) { $str = rawurldecode($str); preg_match_all("/%u.{4}|.{4};|d+;|.+/U",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(substr($v,0,2) == "%u") $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr(.........
▪ubuntu 编译安装php 5.3.3+memcache的方法
//编译安装php 5.3.3 由于php5.3.X已经自带了php-fpm所以不需要打补丁 # sudo ./configure --prefix=/usr/local/php-5.3.3 --with-mcrypt --with-gettext --with-mysql --with-gd --with-jpeg-dir --with-png-dir --with-curl --with-freetype-dir .........
▪PHP MemCached高级缓存配置图文教程
1.Memcache相关介绍 memcache是一个高性能的分布式的内存对象缓存系统,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。 使用Memcache的网站一般流量都是比较.........
[1]PHP下escape解码函数的实现方法
来源: 互联网 发布时间: 2013-11-30
GB2312编码:
function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/%u.{4}|.{4};|d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "") {
$ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}
UTF8编码:
function unescape($str){
$ret = '';
$len = strlen($str);
for ($i = 0; $i < $len; $i++){
if ($str[$i] == '%' && $str[$i+1] == 'u'){
$val = hexdec(substr($str, $i+2, 4));
if ($val < 0x7f) $ret .= chr($val);
else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));
else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));
$i += 5;
}
else if ($str[$i] == '%'){
$ret .= urldecode(substr($str, $i, 3));
$i += 2;
}
else $ret .= $str[$i];
}
return $ret;
}
代码如下:
function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/%u.{4}|.{4};|d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "") {
$ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}
UTF8编码:
代码如下:
function unescape($str){
$ret = '';
$len = strlen($str);
for ($i = 0; $i < $len; $i++){
if ($str[$i] == '%' && $str[$i+1] == 'u'){
$val = hexdec(substr($str, $i+2, 4));
if ($val < 0x7f) $ret .= chr($val);
else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));
else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));
$i += 5;
}
else if ($str[$i] == '%'){
$ret .= urldecode(substr($str, $i, 3));
$i += 2;
}
else $ret .= $str[$i];
}
return $ret;
}
[2]ubuntu 编译安装php 5.3.3+memcache的方法
来源: 互联网 发布时间: 2013-11-30
//编译安装php 5.3.3
由于php5.3.X已经自带了php-fpm所以不需要打补丁
# sudo ./configure --prefix=/usr/local/php-5.3.3 --with-mcrypt --with-gettext --with-mysql --with-gd --with-jpeg-dir --with-png-dir --with-curl --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --enable-sockets --with-png-dir --with-pdo-mysql --enable-fpm --with-zlib --with-fpm-user=daemon --with-fpm-group=daemon
# sudo rm -rf /usr/local/php-5.3.3
# sudo make
# sudo make install
//编译安装 memcache
sudo /usr/local/php-5.3.3/bin/phpize
sudo ./configure --with-php-config=/usr/local/php-5.3.3/bin/php-config
//修改php.ini配置文件
添加:
extension_dir = "/usr/local/php-5.3.3/lib/php/extensions/no-debug-non-zts-20090626/"
extension=memcache.so
由于php5.3.X已经自带了php-fpm所以不需要打补丁
# sudo ./configure --prefix=/usr/local/php-5.3.3 --with-mcrypt --with-gettext --with-mysql --with-gd --with-jpeg-dir --with-png-dir --with-curl --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --enable-sockets --with-png-dir --with-pdo-mysql --enable-fpm --with-zlib --with-fpm-user=daemon --with-fpm-group=daemon
# sudo rm -rf /usr/local/php-5.3.3
# sudo make
# sudo make install
//编译安装 memcache
sudo /usr/local/php-5.3.3/bin/phpize
sudo ./configure --with-php-config=/usr/local/php-5.3.3/bin/php-config
//修改php.ini配置文件
添加:
extension_dir = "/usr/local/php-5.3.3/lib/php/extensions/no-debug-non-zts-20090626/"
extension=memcache.so
[3]PHP MemCached高级缓存配置图文教程
来源: 互联网 发布时间: 2013-11-30
1.Memcache相关介绍
memcache是一个高性能的分布式的内存对象缓存系统,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能够迅速的进行存取。
2.Memcache Win32的安装
(1)下载地址:
http://www.jehiah.cz/projects/memcached-win32/
(2)安装步骤:
step1 解压压缩包到任一目录,如c:\mem。目录结构如下图:
step2 安装memcache到windows服务中:c:\mem\memcached.exe -d install,若无错误提示则安装完成。
step3 启动memcache服务:c:\mem\memcached.exe -d start,若无错误提示则启动成功。如下图所示:
注意:如果不需要将memcache添加到windows服务中的话,而是每次手动双击解压后根目录中memcached.exe启动,则不需要step2与step3。上面的step2与step3需要在命令提示符下进行操作。
(3)测试安装是否成功
在memcache服务成功启动后,可以使用telnet 127.0.0.1 11211测试连接是否成功;如果连接成功后则使用stats命令可以查看memcache的基本信息。具体如下图所示:
<?php
$mem = new Memcache;
$mem->connect('127.0.0.1',11211) or die("连接失败");
$mem->getVersion();
?>
memcache是一个高性能的分布式的内存对象缓存系统,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能够迅速的进行存取。
2.Memcache Win32的安装
(1)下载地址:
http://www.jehiah.cz/projects/memcached-win32/
(2)安装步骤:
step1 解压压缩包到任一目录,如c:\mem。目录结构如下图:
step2 安装memcache到windows服务中:c:\mem\memcached.exe -d install,若无错误提示则安装完成。
step3 启动memcache服务:c:\mem\memcached.exe -d start,若无错误提示则启动成功。如下图所示:
注意:如果不需要将memcache添加到windows服务中的话,而是每次手动双击解压后根目录中memcached.exe启动,则不需要step2与step3。上面的step2与step3需要在命令提示符下进行操作。
(3)测试安装是否成功
在memcache服务成功启动后,可以使用telnet 127.0.0.1 11211测试连接是否成功;如果连接成功后则使用stats命令可以查看memcache的基本信息。具体如下图所示:
3.Memcache在PHP中的配置
(1)配置步骤
step1 下载php_memcache.dll组件,并将其放置到php的扩展组件目录,如:php\ext\
step2 在PHP.ini加入extension=php_memcache.dll后,重启Apache即可。
(2)测试配置是否成功
使用phpinfo()查看是否成功启用。如下图所示:
(3)PHP中测试memcache
代码如下:
<?php
$mem = new Memcache;
$mem->connect('127.0.0.1',11211) or die("连接失败");
$mem->getVersion();
?>
最新技术文章: