用GDB调试PHP程序[转] 03月28日

转载自:http://www.sulabs.net/?p=40

我们先想办法重现一下Segmentation fault现象,下面我们先使用Shell的方式来试验,编写demo.sh脚本:

#!/bin/bash
kill -s SEGV $$

其中$$就是脚本的进程号,SEGV信号的作用等同于Segmentation fault,整句基本意思就是让自己崩溃。

保存好,并且加上执行权限:chmod +x demo.sh (更多…)

memcache和memcached之间的区别和联系【转】 07月11日

由于在项目后期会引入缓存策略对角色的数据进行缓存,而现在我们大部分缓存都使用文件缓存,开发过网页游戏的朋友们大都知道,语言包和游戏相关的数 据大部分不经常改动,有时候几个星期不需要更新,只是在进行版本更新的时候才重新生成一次数据缓存,而角色的数据和数值时刻在变化着,会频繁的更新和操 作,采用文件缓存会频繁地进行I/O操作,在这个功能上文件缓存就不太适合了,所以对于角色的数据采取内存缓存策略在这里就比较合适。

对于内存缓存,比较常用的有两种memcache和memcached扩展。而memcached和memcache的守护进程memcached同名, 比较容易引起混淆,甚至提到memcached,有些人第一想到的是后台的守护进程,这里还是有必要分析一下两者之间的区别,以下观点仅是个人观点,希望 朋友进行补充和更正。
首先我们可以从php官方手册上可以清晰的看到两者的区别:
memcache:http://cn2.php.net/manual/en/book.memcache.php
memcached:http://cn2.php.net/manual/en/book.memcached.php

memcache是完全在PHP框架内开发的,memecached是使用libmemcached的。从手册上看,memcached 会比 memcache 多几个方法,使用方式上都差不多。 (更多…)

php技术大会2011 05月08日

php技术大会2011

2011-05-07,在北京长城饭店参加完了2011年php技术大会,这个算是中国php的最高技术论坛吧,到场的人大概有1000多,当然,百度、腾讯、淘宝、新浪等大公司来的人应该超过了一半。php,这个顶着中国70%左右的互联网流量的编程语言,神奇的把大家聚合在了一起。

《构建高性能WEB站点》动态内容缓存(页面缓存) 04月23日

动态内容缓存就是把动态语言(目前一般是动态脚本php、python、perl、java、ruby等)生成的结果保存起来,下次来取的时候直接返回html的结果。缓存这个东西,就是为了避免重复计算,把结果保留下来,这个比较适合读多写少的页面和网站,但是像微博的页面、人人的个人首页之类的就绝对不能用页面缓存。

在新浪这种大型的互联网公司,而且以读为主的新闻媒体,页面缓存一般分两种。一种是静态页面,就是编辑直接敲html生成一个页面,然后发到线上的前端机(比如首页,经过人工处理过的排行榜,推荐视频等,也就是运营页面)。另外一些就是存放在数据库中的数据,一般是php调用计算出页面之后放到前端cdn缓存,一段时间之后自动过期重新取数据,比如用squid、varnish等实现前端缓存。 (更多…)