windows下开发并编译PHP扩展(步骤说明)

开发PHP扩展对于普通程序员来讲可能一直是一件很神秘的工作,其实,只要你对C语言熟悉,了解了开发PHP扩展的步骤和规则,开发PHP扩展也是一件很普通的工作。
现在就简单说一在WINDOWS下开发PHP扩展的步骤:
首先需要准备的软件有:
cygwin 安装路径e:\app\cygwin
visual studio C++ 6.0,
修改环境变量,把已经安装好的PHP路径设置为环境变量。在这里,假设我的PHP安装目录是:e:\app\php5.2.5,那么我把WINDOWS环境变量后面加上这个安装目录。方便一会儿使用php.exe。
PHP源代码,这里假设为e:\c_source_code\php-5.2.5

1、修改文件 “PHP源文件目录/ext/ext_skel_win32.php”,在这里就是:E:\c_source_code\php-5.2.5\ext,其中主要是修改其中的cygwin路径。$cygwin_path = ‘e:\app\cygwin\bin’;
把$cygwin_path修改为你实际安装cygwin的路径。
2、在源代码ext目录也就是e:\c_source_code\php-5.2.5\ext下,执行 php ext_skel_win32.php –extname=<EXT_NAME>,此时会在ext目录下生成<EXT_NAME>目录,这个目录就是我们将要进行PHP扩展开发的框架。比如你运行php.exe ext_skel_win32.php –extname=foo,会在ext目录下生成foo目录。
3、将php-root\dev\php5ts.lib拷贝至 “ext/<EXT_NAME>”中。比如你要开发的PHP扩展名为foo,那么就需要把php-root\dev\php5ts.lib拷贝到PHP源文件目录\ext\foo中。
4、修改foo.c内容,编写我们需要的C代码。
5、进入<EXT_NAME>目录,打开<EXT_NAME>.dsp。
设置VC6工程,
设置菜单“组建”->“移除工程配置”,选中“Win 32 Release_TS”,
设置菜单“工程”,选中“Win 32 Release_TS”
打开Tab“连接”,设置“输出文件名”中的目录,
[可选]打开Tab“C/C++”,增加“预处理器定义”“,COMPILE_DL_<EXT_NAME>”(注意全大写,默认加入的),取消预定义“LIBZEND_EXPORTS”(否则不可引入zend函数)。
6、设置好以后,进行编译,会生成一个dll文件,文件名是<EXT_NAME>.dll,比如在我们的例子中就为foo.dll
把foo.dll拷到e:\app\ext目录下,并在php.ini里加上一行extension=foo.dll,重启一下apache,查看phpinfo();,会发现我们的PHP扩展foo()已经加载进来,已经可以使用这个foo扩展了。

——————上面是转载,下面是我的话—————-

打算编译一下php5下面的php_yaz.dll,不知道它是否能够拯救不断报“Unable to create file mapping”的服务器


亲身体验用友NC,不谈理论

nc

1. 有一个不错的客户方项目经理是用友NC实施人员的期盼,但这往往是指一个愿望,不过往往项目结束时这样的人就有了;

2. 作为集团公司的子公司,做了试点其实沾不了什么光,当然从整体上来看也不会吃亏,毕竟在上ERP的过程中员工的素质确实提高了,对于大部分没有学习动力的人来说,给他一个这样的系统去依循是不得以的办法;

3. 不能把一种相对先进的改变看得多么困难,半年时间足够了,安排得当,这个时间对于工作方式的转变是相当充裕的;

4. 聪明的客户应该选择这样的方式:前期调研让用友派高级一点的专家,但人不用多;后期高级的人总是会被用友派到新的项目去,这时候多要几个还可以的专家吧,人多力量大;

5. 找几个得力的实习生帮你做数据录入,并且尽量管理好他们,既要速度又要保证准确度,这需要很多精力;

6. QQ群真是个好东西,不要让同事们潜水,在群上发言是光明正大的事,是正经工作,一定要坚持,尤其到实施后期,完全可以不予处理除QQ群以外反馈的任何问题,只是让最高层领导参与有点难;

待续……


用DM500S连接电脑接收收卫视节目

screenshot

随着互联网宽带的普及,卫星电视发烧友圈子里面有宽带网络的烧友不在少数,稍早的用上430+A2,A5。有条件的用上DM500S系列的卫星接收机,更牛的用上了原版DM600等等。

DM500S卫星接收机功能强大,Seca、Viaccess、Irdeto、Viasat-NDS、Conax、Nargra1、Nargra2等等加强系统,都能配合正版解码,输出普通音视频信号和色差信号等通过电视进行收看。它特别适合有足够精力的烧友去发掘和使用。可在电脑上利用网线实现了收看 DM500S解码的图像和声音信号,还可以用鼠标换台进行观看。

在网络上找到了几种电脑播放DM音视频数据流的软件。其中使用最多,最为方便的是BitControl Digitaltv link v2.5版,由它配合Windows Media Player10.0版本,几乎是傻瓜式安装就可以完成。不用破解、注册等等,安装完软件后,打开DM500S简单设置就可以长时间观看精彩的节目了。

安装:在电脑上打开安装文件夹会出现如下内容:安装好bcDreamBox.exe,bcm-peg2dec.exe。

以下为使用Windows Media player10.的使用说明。在DM500S开机正常收看的情况下,可以打开电视用遥控器在DM500S接收机的系统设置网络查看里面的具体IP,也可以在电脑上用软件查出它的实际IP地址,或者直接在IE栏试着输入IP地址去找出来,因为普通家用ADSL的内网本来就没有几个设置,DM500S的动态实际IP地址最多会在192.168.1.100-107之间(以笔者的DM500S为例)。找到IP地址后,把Windows Media player10.打开在url中输入bcmsdb://192.168.1.1.01(以DM500S的实际地址为准),等待几秒钟后图像和声音就会在电脑里面播放出来。(也可以在这里试着输入DM的IP地址,但没有知道DM具体地址的图像出来得迅速)。如果是其他版本的安装则相对烦琐,播放命令也较为复杂。

至于换台则需要进入DM500S的管理界面了。在电脑的IE栏输入DM500S的实际地址后就会出现英文的管理内容。需要指出的是笔者采用的是DM500S中文版式img(pli-helenite-DM500-chinese-20070709-3223.zip)。

双击右边的实际频道会看到Chan:即相应的频道名称。选择BOX control单击screen-shot会出现一个带有图像内容的IP窗口,点击屏幕快照后出现一副实时的DM播放内容的图片。用它可以监看DM500S是否正常播放。

用电脑软件配合Windows Media player10.等解码播放DM卫星接收机音视频节目,前提是DM500S能够正常工作且必须要通过网线进行传输数据。在图像上会有延迟,有可能还会出现音视频不同步的现象,但只要把Windows Media player10.关闭后再重启就能够解决了。换台后,要点击Windows Media player10.的停止键再播放,否则会出现不能正常工作的现象。

 补充:换台时最好先关掉Windows Media player10,等换好了再打开。


多年后我读了一篇小小说

—————原文照登如下—————

『手工历史』:边城(捞尸版)

文/高小茶
导读:大家都知道父子俩和驴的故事讲述的道理是“走自己的路让别人说去吧”,只有王小波看出了这个故事另外还有条道理是“闭上你的嘴让别人走路”。有话要讲的时候闭上嘴,简直是比有饭要吃的时候闭上嘴更困难的一件事。在贵国,说话的权利弥足珍贵,以至于说话的后果相对被轻忽了。是不是只要张开嘴,就可以联想到什么说什么?就可以对着张三的照片说这李四长得真像领导?至于其他更远更深的议论,说的人懂,听的人知道,被说的人呢,他们大概在走自己的路吧。

新闻链接:
起:10余名大学生结成人梯营救落水少年 3人溺亡
&转:大学生救人溺亡隐情调查:挟尸要价另有其人见死不救渔民被冤
捞尸人谈见钱捞人:不知道他们是英雄
结:长江大学与打捞公司的打捞协议系民事行为

沿着长河往上游走,就能走到林山。林山后面是蛮民的地界,前面是边城。长河在边城边上横着打了个滚,漩出一汪深坑,叫长生滩。
长河从西边不知道什么地方流到边城,此时几乎看不出来它会在下游变成那么一个暴君,唯有长生滩也许算是个征兆。这地方的水流极乱,几股激流绞在一起,把水里的东西往下拽;河岸也怪,从岸边下来几十步都是齐腰的浅水,忽然一个坎子陷下去,就有两人多深。只有水性最好的渔人敢在这里下水,他们里面水性最好的人才能在这里上岸——水流会把人往对岸推,逆流游回这一侧河岸是极难的事,看着只有几丈远,却是拼了命才游得过。
长生滩里有渔船,也有边城打捞公司的船。打捞公司的船有两条,其中一条船上是一个老船工,带着一个小女孩。小女孩叫翠翠,翠翠管老船工叫爷爷。
老船工以前也是打渔的,家产、老婆和女儿从水里来,也被水带走了,只给他留下了翠翠和岸边的一个茅屋。老船工的船以前是自己的,八年前归了边城打捞公司。打捞公司的大老板是个有能耐的人,开了这家公司,专门打捞边城一带长河里面的沉物——营业执照上是这样写,但是在边城,水面上的人都知道最值钱的沉物就是死人。边城是个小城,这门行当并不忙碌,于是大老板只买了三条船,顺便雇下了几个水手当船工,再拨了一个叫陈二的打手来管事,买卖就开张了。几年下来,那两条船的船工换过好几批,走的人都带着私蓄去做别的体面营生了,只有老船工还是老样子。
平心而论,老船工现在的活儿比打渔时候轻松得多:他只要把船泊在岸边等着,陈二听说哪里有人淹坏了,就来叫他,他就划起船过去。陈二在岸上和苦主谈价钱——其实没得谈,都是一口价——他在人家指点的地方把钩子下到河里去,钩到以后拖上来,看陈二的手势谈拢了,就捞起来送到岸上。陈二收了钱,给他他的那一份,他就欢喜地回家,叫翠翠把钱拿去买糖和酒。
除了翠翠因着不可抗的自然力量成长着以外,这日子每天都像凝固在水门汀里一般,看不到一丝变化。然而有一天老船工正在灶上,翠翠尖细的嗓子喊他:“爷爷,爷爷,有人来了!”他慌忙迎出来,看到来的人有好几个,都是省城人的打扮,戴着斯文的眼镜,捧着黑匣子照相机,由两个他认得的人带着来了。那两个人是在长生湾卖鱼的,经常见到,只是没说过话——渔民对他们这种做死人生意的照例是忌讳打交道的,何况陈二又怕他们抢了生意,总是恶声恶气。
老船工呆站着,正在犯难这么些人怎么招待,人家倒不要他招待,就立在门口问他的话。他听了半天才晓得是在说四天以前捞起来的那三个少年人的事。原来那三个少年人是省城里来的大学生,为了救两个落水的孩子才淹坏了,是救人英雄。陈二和他们的老师同学谈价钱谈不拢,正在吵的时候,有人照了老船工把钩子钩着大学生的尸首在船边的照相,登到报纸上头,全省全国都很震动,骂他见死不救,捞尸要价,没有良心。那两个打渔的也受了牵连:大学生救人的时候他们在旁边扔了绳子,帮了忙,载了六个人上岸。但是那三个沉到底下以后他们不敢下水去救——他们一个有老腰疼,一个是旱鸭子,这么冷的天不敢下水。陈二来了以后他们又怕陈二骂,就把船划走了。不知道怎么报纸上头说他们见死不救,他们又去卖鱼的时候被人认出来,一群人骂他们见死不救,追着把鱼都扔了,网都扯烂了。
老船工看着报纸上他的大照相——报纸是省城人给他看的,他们说自己是记者,记者他听说过,就是给报纸上写文章的——怕得一个字都说不出来。他不识字,不晓得上面写了些什么,照相黑黑白白的一片,他也看不出是不是他。眼前这些人都说是他,他想那就是了吧。他一向安分守己,怎么就上了报纸了?老船工糊涂得很。
记者问他为什么要做在照相里做摆手的手势,是不是价钱没谈拢,不肯把尸首送回岸上?他忙一叠声地说不是。谈价钱是陈二的事,他不管的。那个手势他都不晓得自己做过,天晓得是为什么。记者又问他一个尸首好多钱,他说是大老板定的,三十个银元,记者们都提笔刷刷刷地记下来,他心里又一跳,不晓得说没说错话。记者又问他那天什么时候到的,到的时候人是死是活,他说,他到的时候陈二已经在岸上跟人讲话了,岸上好多人,有的女的在哭,乱糟糟的一片。有人指给他人沉在哪里,他就撑着船过去等着,另外两条公司的船也在。等陈二冲他们点头了,他就把船撑过去捞。先捞起一个穿红衣服的,又一个穿白衣服的。然后陈二跟他打手势,他就晓得是钱还没凑齐,就不捞了,把这两个放到岸上去,等着。等了好一阵子,钱送来了,陈二又叫他们回去捞。最后一个穿蓝衣服的,也是他捞起来的。三个人都是河底下捞出来的,千真万确没有气了。
记者们还想问话,陈二喊着老船工的名字气咻咻地从坎子上冲下来。记者一窝蜂拥上去,连珠炮一样问他话。老船工攥着翠翠的手,呆呆地在一边听。他只听见陈二的哑嗓子在乱糟糟的人声里面迸出来的几个碎句子:……高?我们公司是明码实价,政府发了执照的……你们去问政府……见钱才动手,我们也有行规!……水警?水警不管我们的事哦……你听哪个说的?他们救活的,我们捞死的,两不相干的嘛!……
老船工出着神,不觉把翠翠的手攥得又紧了点,翠翠的小声音喊痛他也没听见。他猜陈二在说武馆的那些人。他们爱游水,又都是水鸭子;遇到有人淹着了,能救就救的。陈二不敢跟他们硬碰,但是总是不阴不阳地叫他们别挡了他的财路。老船工还想起那些先头走的船工,有时候一起喝酒,会把声音压得低低的对他说:“伯伯,你不懂这一行,原来打渔那套行不通的,总等起不行的。”他总笑笑,不敢细想是怎么回事。现在他似乎要明白了,但头脑里头又有什么挡着他不叫他明白。
那两个打渔的这会儿也不知道该干什么,只好呆望着老船工,怯怯地问:陈老板赔不赔我们的网哦?老船工直觉地卫护自己的老板:又不是陈老板扯烂的你们的网,为啥子是陈老板赔?那两个打渔的也说不出为啥子,又像对他讲话,又像自言自语地说:那我们找哪个赔嘛?总要有个人赔嘛。翠翠忽然插了一句:找说你们坏话的人赔嘛!
打渔的和老船工都愣了,又一齐望向还在和陈二纠缠的记者。但马上又觉得自己的念头好笑,忍不住对看着苦笑起来。他们背后,长河仿佛什么都不知道一样,静静地流着。

————-原文结束————

原文地址:http://www.izaobao.us/?p=4531


一个简单的算术题

假设我有一块地,盖了一间房子,花了五千块钱。然后我住进去并每个月给自己交500元房租,如此,我10个月就收回了成本?

假设我跟中国的另外十三亿多人合修了一条铁路,花了三千亿元。然后我们每个人每年坐1000元的火车,如此,约摸一年或两年也收回了成本?

这事越想越别扭……求高人指点