64bit机器上,php长整型的表示

php中,对数据类型的转换可直接使用pack来完成,比如表示字符型,短整型、整型、长整型可分别使用参数c、s、i、N来表示,当然这里转换后的数据为二进制数据,是不可读的,为了能正常读取,可直接unpack来将数据从二进制流还愿成可读的字符类型。
以下为各各类型的实际长度。

$uid = 1346563572;

长度为10,直接为字符类型来计算

echo strlen($uid); // 10

转换短整型,长度为2,当然这里超过了短整型的值范围,所以高位数据会丢失 继续阅读

发表在 LAMP | 41 条评论

一个阶段

有空再写,先占个座

发表在 mylife | 28 条评论

ubuntu9.10 ibus 从源码包安装五笔

系统慢,所有设置重罟了下,输入法弄掉了,记录下吧,免得需要时又去找。

1.首先到http://code.google.com/p/ibus/downloads/list去下载ibus-table-wubi???.tar.gz包,其中?是相应的版本,不同时期不一样,我下到的是 ibus-table-wubi-1.2.0.20090715.tar.gz 。

2.从终端进入你文件的下载目录,解压 ibus-table-wubi-1.2.0.20090715.tar.gz ,然后
继续阅读

发表在 linux/server | 标签为 , | 20 条评论

今天感冒好了

前几天游泳,估计着凉了,加上昨天降温,感冒就来了,昨晚睡眠不错,今天身体恢复,天气也还行!不写了,信号很不稳定!
继续阅读

发表在 mylife | 29 条评论

linux设置时区的方法

首先确定时区,可用tzselect命令来得到所需要的时区。

[root@hqlong ~]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean 继续阅读

发表在 linux/server | 标签为 | 9 条评论

Iframe跨域访问Cookie和Session的问题

最近忙的一个项目,主要是做一些登录系统的整合,其中遇到的一个最关键的问题为在一个统一的后台里需要无障碍的访问另外一个系统后台,这个系统是第三方提供的一个加过密的系统,后台自动登录接口是自己分析出来的,没有单独提供,当从统一后台通过自动登录接口登录时,系统直接跳转到系统后台首页,后台登录成功后所跳转的URL这里没法指定,控制不了跳转的页面,如果在统一后台里需要链接到这个系统后台的另外一个页面,而非后台默认首页时,也就是将第三方系统后台的菜单功能放到我们这个统一后台里。

对于这样的一个需要,这里会遇到一个问题,为了能正常访问第三方系统的后台栏目,必需确保已经登录该系统,否则会提示用户登录,所以在点击这些菜单链接时,系统必需已经登录。 继续阅读

发表在 LAMP | 标签为 , | 22 条评论

隐藏响应头中apache、php的版本信息

1. 当apache没有设置出错页时,如果访问一个不存在的资源,系统会给出如下一段服务器的签名信息:

Apache/2.2.3 (CentOS) Server at 192.168.2.100 Port 80

可通过配置文件的ServerSignature选项来隐藏它.

ServerSignature Off

2. 请求php资源时,会在响应头中提供php的版本信息,如下:

X-Powered-By PHP/5.1.6

继续阅读

发表在 linux/server | 标签为 , | 10 条评论

linux下tomcat安装和配置

第一步 下载JDK和tomcat.
linux下下载后直接解压即可,解压下放到/usr/local目录下.
apache-tomcat-6.0.20
jdk1.6.0_18

为jdk和tomcat建立两个软链接到tomcat和java_default.

ln -s /usr/local/apache-tomcat-6.0.20 /usr/local/tomcat
ln -s /usr/local/jdk1.6.0_18 /usr/local/java_default

继续阅读

发表在 乱七八糟 | 标签为 , , | 10 条评论

vim技巧:php函数自动补全

1. 下载文件function.txt,function.txt里面含有所有php函数。

http://cvs.php.net/viewvc.cgi/phpdoc/funclist.txt

2. 将funclist.txt放到~/.vim/目录下,命名为php_funclist.txt。

3. 在~/.vimrc中添加如下代码.

set dictionary-=~/.vim/php_funclist.txt dictionary+=~/.vim/php_funclist.txt
set complete-=k complete+=k

继续阅读

发表在 开发工具 | 标签为 , | 13 条评论

vim技巧:多行注释换行时自动加上空格和星号

vim中,多行注释换行时,回车自动加上空格和星号。
效果如下:

/**
  *
  * 回车自动加上空格和星号

继续阅读

发表在 开发工具 | 标签为 , | 16 条评论

vim技巧:折叠快捷键

以前用的挺熟的,一段时间不用了,快捷键又忘了,不得不重新再看手册,今天专门整理一下,以后查找起来也比较方便。

zc 折叠,只折叠最外层的折叠
zC 对所在范围内所有嵌套的折叠点进行折叠,包括嵌套的所有折叠.
zo 展开折叠,只展开最外层的折叠.
zO 对所在范围内所有嵌套的折叠点展开,包括嵌套折叠.
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。 继续阅读

发表在 开发工具 | 标签为 , | 17 条评论

vim替换^M字符

替换^M字符
在Linux下使用vi来查看一些在Windows下创建的文本文件,有时会发现在行尾有一些“^M”。有几种方法可以处理。

1.使用dos2unix命令。一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便:
$ dos2unix myfile.txt
上面的命令会去掉行尾的^M。

2.使用vi的替换功能。启动vi,进入命令模式,输入以下命令: 继续阅读

发表在 开发工具 | 标签为 | 19 条评论

web访问日志分析

语句:

cat access.log  | awk '{print $1}' | sort -n | awk '{S[$NF]++} END
 {for(a in S) {print a"\t" S[a]}}' | sort +1 -2nr

继续阅读

发表在 linux/server | 标签为 , | 6 条评论

耗时任务的异步处理

服务器的访问压力比较大时,我们可以通过负载均衡来将负载分散到多台服务器上.但有些比较耗时的请求.比如:
1. 需要连接邮件服务器,发送一封超长的HTML邮件。
2. 需要对用户上传的图片进行裁剪,生成多份缩略图。
3. 需要将用户上传的文件分发到多台服务器上。

在我们的日常应用中经常遇到,用户需要等待一段时间,这个请求才能完成,在用户上传照片时,照片上传成功后,然后是裁剪,最后生成缩略图,在这么一个过程中,用户只能等待,所以对用户的体验来讲是相当不好的。可能在用户第一次使用过后,下次就很难再让他使用这个图片的上传功能了。 继续阅读

发表在 系统架构 | 标签为 , , | 10 条评论

mysql主从(master-slave)复制安装配置

一. 环境准备

准备两台服务器,IP分别为
192.168.1.119 (主数据库服务器)
192.168.1.120 (从数据库服务器)

分别装好mysql数据库服务器
继续阅读

发表在 mysql | 25 条评论