Sep
12

nginx返回500状态

很遇外,今天发现某站nginx返回500状态。 html源码看和200正常状态无异。

后分析后端php代码,断点排查后,是由于dede的模板上,某个用法不当。

对于dede模板机制一直不是很满意。早放弃使用dedecms了。

0 Comments
Apr
29

PHP服务端推送技术Long Polling

Long Polling与Polling概述
服务端推送技术应用越来越普遍,应用范围也越来越宽广,技术解决方案也越来越成熟且丰富。很多SNS网站的chat功能就有用到了Long Polling技术。比如fackebook, kaixin001。

Long Polling原理其实很简单,也很讨巧。与Polling相比,Long Polling客户端也许不会马上收到来自服务端的响应,需要等待一些时间(直到有新消息,或者连接timeout了等等)。同样的,客户端也不再需要定时向服务发送请求了,而是直到收到服务端响应之后,或者连接丢失之后,客户端接着马上请求客户端。这里,我打个比方,传统的Polling一般是由C向S 询问:”有我的信件吗?”。S接到询问之后,会立即查询,并且把查询结果告诉C,不管有没有C的信件,要码回复:”嗯,你有X封信。”,要码回复:”没,没有你的信”.而Long Polling更像是这样,C向S发出询问:”有我的信件吗?”,S开始查询,如果有则回...

0 Comments
Apr
29

php操作内存,共享内存,基于内存的消息队列操作

php作为脚本程序,通常生命周期都很短,如在web应用中,一次请求就是php运行的一个周期,请求结束则生命周期截止。所以php在处理需要共享的资源时,一般会将共享数据保存在数据库或dbm之类的文件中,再者就是利用内存实现共享。你可以选择已有的工具辅助你,像memcache;也可以自己编写代码访问操作系统的共享内存段。


php中对共享内存段的操作有两组函数:System V IPCShared Memory。其中System V IPC系列函数能够更方便的操作数据,无需像Shared Memory那样必须自己掌握读写时的偏移量、长度等,也不用序列化/反序列化来回转换(因为Shared Memory函数只支持字符串格式的数据参数)。但...

0 Comments
Apr
23

mongodb支持php安装

windows下直接去下载dll就可以了。
官方文档: http://www.mongodb.org/display/DOCS/PHP+Language+Center (适用与*nux).
这里就说freebsd环境(有网上说需要在高于freebsd7上才能安装)。
关键用php的pecl. (在php安装目录bin目录中。如果没有pecl,可以查下用pear扩展安装)。
执行:
pecl install mongo

接着:
修改php.ini
加入:
extension=mongo.so

这里说下:
1.如果安装了zend
只需要修改 Zend/etc/php.ini
会自动同步修改到 php安装目录中的 etc/php.ini

2. 注意。 extension_dir 值更改为 "/usr/local/php/lib/php/ext...

0 Comments