2011年8月25日

使用php来做守护进程

摘要: [ 起源 ] Linux/Unix下守护进程(Daemon)大家都知道,比如我们常用的httpd、mysqld等等,就是常驻内存运行的程序,类似于Windows下的服务。一般守护进程都是使用C/C++来写,就是通过fork生成子进程,当前台shell下的父进程被杀掉,子进程就转到后台运行,为了不在终端产生输出信息,就通过syslog等函数来写日志文件。 我们知道php是脚本语言,通过php的脚本引擎来执行,所以要做成守护进程比较麻烦,我们今天就来结合Unix/Linux的命令来实现我们守护进程的功能。 [ 原理 ] Unix中的nohup命令的功能就是不挂断地运行命令,同时nohup把... 阅读全文

posted @ 2011-08-25 11:00 cn三少<script></script> 阅读(479) 评论(0) 推荐(0) 编辑

使用Xdebug调试和优化PHP程序[3]

摘要: 作者:Haohappy MSN: haohappy at msn.comBlog: http://blog.csdn.net/haohappy20042006-07-04其实PHP函数debug_backtrace()也有类似的功能,但是要注意debug_backtrace()函数只在PHP4.3.0之后版本及PHP5中才生效。这个函数是PHP开发团队在PHP5中新增的函数,然后又反向移植到PHP4.3中。如何利用Xdebug使调试信息更加美观?Xdebug扩展加载后,Xdebug会对原有的某些PHP函数进行覆写,以便好更好地进行Debug。比如var_dump()函数,我们知道通常我们需要在 阅读全文

posted @ 2011-08-25 09:42 cn三少<script></script> 阅读(186) 评论(0) 推荐(0) 编辑

使用Xdebug调试和优化PHP程序[2]

摘要: 作者:Haohappy MSN: haohappy at msn.comBlog: http://blog.csdn.net/haohappy20042006-07-04Go on..现在我们来从最简单的程序调试开始一步步介绍Xdebug。调试:我们先写一个可以导致执行出错的程序,例如尝试包含一个不存在的文件。testXdebug.php<?phprequire_once(‘abc.php’);?>然后通过浏览器访问,我们惊奇地发现,出错信息变成了彩色的了:不过除了样式改变,和我们平时打印的出错信息内容没什么不同,意义不大。好,我们继续改写程序:testXdebug2.php< 阅读全文

posted @ 2011-08-25 09:41 cn三少<script></script> 阅读(145) 评论(0) 推荐(0) 编辑

使用Xdebug调试和优化PHP程序[1]

摘要: 作者:Haohappy MSN: haohappy at msn.comBlog: http://blog.csdn.net/haohappy20042006-07-04 为什么需要Debugger?很多PHP程序员调试使用echo、print_r()、var_dump()、printf()等,其实对于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以看出来(当然可能还需要使用一些时间函数)。那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢? 这个问题的答案不妨留到后面来揭晓。 什么... 阅读全文

posted @ 2011-08-25 09:19 cn三少<script></script> 阅读(155) 评论(0) 推荐(0) 编辑

2011年8月24日

54点提高PHP编程效率 引入缓存机制提升性能

摘要: 0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row[’id’] 的速度是$row[id]的7倍。3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。4、在执行for循环之前确定最大循环数,不要. 阅读全文

posted @ 2011-08-24 23:22 cn三少<script></script> 阅读(382) 评论(0) 推荐(0) 编辑

静态类的原罪

摘要: 黑格尔有句名言:存在即合理。以此为论据的话,静态类的存在自然有其合理性。不过物极必反,一旦代码过于依赖静态类,其劣化的结局则不可避免。这就好比罂粟作为一种草本植物,有其在药理上的价值,但如果肆无忌惮的大量使用,它就变成了毒品。 什么是静态类 所谓静态类指的是无需实例化成对象,直接通过静态方式调用的类。代码如下:<?php classMath { publicstaticfunctionceil($value) { returnceil($value); } publicstaticfunctionfloor($value) { returnfloor($value); } } ?> 阅读全文

posted @ 2011-08-24 23:16 cn三少<script></script> 阅读(177) 评论(0) 推荐(0) 编辑

2011年8月23日

apache多域名绑定手记

摘要: 用记事本打开appache下的httpd.conf文件 示例如下: #号是起注释作用的 实例 代码: NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # <VirtualHost *:80> DocumentRoot "D:\DAT 阅读全文

posted @ 2011-08-23 14:54 cn三少<script></script> 阅读(201) 评论(0) 推荐(0) 编辑

Telnet、SSH(SSH1和SSH2)之间的区别

摘要: 简言之:Telent是明码传输,SSH是加密传输。 使用Telnet这个用来访问远程计算机的TCP/IP协议以控制你的网络设备相当于在离开某个建筑时大喊你的用户名和口令。很快会有人进行监听,并且他们会利用你安全意识的缺乏。传统的网络服务程序如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the- middle)这种方式的攻击。所谓“中间人”的攻击方式,就是“中间人”冒充真正的服务器接收你的传给服务器的数据,然后再冒充你 阅读全文

posted @ 2011-08-23 13:37 cn三少<script></script> 阅读(5377) 评论(0) 推荐(0) 编辑

在32位Windows XP的VMWare里安装64位Ubuntu Linux/JDK1.6

摘要: 1、CPU AMD系列的CPU略过 Intel系列的CPU芯片需要支持EM64T和VT技术才行,并且BIOS也要支持才可以。 为了确定你的Intel CPU是否支持VT,请查看: http://compare.intel.com/pcc/default.aspx?familyid=5&culture=en-US 我的笔记本CPU是:Intel Mobile Core 2 Duo T7300支持EM64T,如下图 如果BIOS里没有设置支持VT(Virtualization Technology),会在创建VMWare后,安装64位Linux时,会报如下错误: This CPU does 阅读全文

posted @ 2011-08-23 10:59 cn三少<script></script> 阅读(677) 评论(0) 推荐(0) 编辑

Delphi2009代码提示功能

摘要: 用VS感觉他的代码提示功能做得非常好,其它Delphi也有,只是要你按 ctrl+space 才会出来,但是ctrl+space又会与中文输入法的快捷键相冲突,可以把切换中英文输入法的ctrl+ space 换掉。有一个国人开发的第三方控件cnPack可以实现代码提示功能,不过用Delphi自带的更好。前一段时间我一直郁闷,因Delphi2009的代码提示功能始终调不出来,今天无意在Google上发现了方法,哈哈,原来如此简单,可以达到VS的那种效果,设置方法tools-->options-->editor options-->code insight-->选上auto 阅读全文

posted @ 2011-08-23 10:29 cn三少<script></script> 阅读(565) 评论(0) 推荐(0) 编辑

导航