10 2013 档案

PHP使用libevent实现高性能httpServer
摘要:今天发现php也有一个libevent的扩展,安装后尝试下了一个webserver(httpserver), 发现性能还不错,逻辑很简单,每秒响应速度1800~4000次/s代码如下<?php$socket = stream_socket_server ('tcp://0.0.0.0:8888', ... 阅读全文

posted @ 2013-10-31 20:18 出发的兰彻 阅读(1010) 评论(0) 推荐(0)

syslog-ng 安装
摘要:下载 Syslog-NG的rpm包, 地址http://www.kevindeng.org/wp-content/uploads/2010/10/Syslog-NG.zipunzip解压[root]#unzip Syslog-NG.zip依次安装安装libevt[root]#rpm -ivh libevtlog0-0.2.8-1.i386.rpmsyslog-ng 相关[root]#rpm -vih libdbi8-0.8.2bb2-3.rhel5.i386.rpm[root]#rpm -vihlibdbi8-dev-0.8.2bb2-3.rhel5.i386.rpmsyslog-ng[roo 阅读全文

posted @ 2013-10-31 12:03 出发的兰彻 阅读(1126) 评论(0) 推荐(0)

PHP GC垃圾回收机制之引用变量回收周期疑问
摘要:普通的引用变量的销毁大家都知道, 当unset的时候如果refcount = 0 则认为无用, 销毁。但是手册中提到一点会有递归引用的问题,很是奇葩代码如下 1 [1] => Array ( [0] => 1 [1] => Array *RECURSION* ))*/这个时候 $arr[1] 递归的引用了$arr , 虽然没有意义,但是按照原来的判断refcount为0的方式会出现问题,因为当unset($arr)时, refcount=1 ,此时$arr成为一个没有任何变量指向的垃圾数据。手册中提到的方法是当一个变... 阅读全文

posted @ 2013-10-29 17:20 出发的兰彻 阅读(457) 评论(0) 推荐(0)

猜数字和楼层扔鸡蛋问题
摘要:A、B两个人在玩猜数字游戏,A随机写了一个数字,在[1,100]区间之内,将这个数字写在了一张纸上,然后B来猜。 如果B猜的数字偏小的话,A会提示:“数字偏小” 一旦B猜的数字偏大的话,A以后就再也不会提示了,只会回答“猜对或猜错” 问:乙至少猜(13)多少次才可以准确猜出这个数字,在这种策略下,乙猜的第一个数字是(13)解析: 首先阅读题目,一个很重要的信息点就是:一旦B某次猜的偏大,A就不再提示,此次之后B猜的偏小A也不会再提示,只回答猜对与否。如果没有这个条件,或者说改变这个条件,改为:如果B猜的偏大,A会提示B这次猜的偏大那么相信大家都会给出答案,那就是用二分法,只需要7次就可以保.. 阅读全文

posted @ 2013-10-29 14:30 出发的兰彻 阅读(701) 评论(0) 推荐(0)

Mongo导出数据文件导致错误 Got signal: 6 (Aborted)解决方法
摘要:一哥们要导出一个数据表的数据,结果导出一半,硬盘不够用,卡死了, 然后重启主机,导致mongo启动后进程自动死掉, 报错如下。Mon Oct 28 10:39:02.270 [initandlisten] connection accepted from 192.168.85.144:41102 #25 (10 connections now open)Mon Oct 28 10:39:02.270 [conn25] authenticate db: EmailSMSPlatform { authenticate: 1, user: "writeuser", nonce: 阅读全文

posted @ 2013-10-28 12:17 出发的兰彻 阅读(6139) 评论(0) 推荐(0)

PHP快速排序及其时间复杂度
摘要:$r) return; $tmp_l = $l; $tmp_r = $r; $privot = $arr[$r]; while($tmp_l $tmp_r; 因为这里使用不是交换的方式,而是直接使用直接赋值的形式。 $arr[$tmp_r] = $arr[$tmp_l]; while($arr[$tmp_r] >= $privot && $tmp_l<$tmp_r) --$tmp_r; // 没有=等于的判断 会出现死循环,没有详细考究原因。 $arr[$tmp_l] = $arr[$tmp_r]; } ... 阅读全文

posted @ 2013-10-27 14:17 出发的兰彻 阅读(929) 评论(0) 推荐(0)

PHP读某一个目录下所有文件和文件夹
摘要:废话少说了 直接上代码<?phpfunction read_dir($dir) { if (!is_dir($dir)) { echo 'not a dir '; return; } if ($dir_handler = opendir($dir)) { while($file = readDir($dir_handler)) { if ($file == '..' || $file == '.') continue; echo $file; echo is_... 阅读全文

posted @ 2013-10-27 12:05 出发的兰彻 阅读(322) 评论(0) 推荐(0)

PHP获得两个绝对路径的相对路径
摘要:周末在家看面试题,没事儿写了个。题目:写一个函数,算出两个文件的相对路径 如 $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php';计算出 $b 相对于 $a 的相对路径应该是 ../../c/d代码如下<?php$a = '/c/d/e.php';$b = '/a/b/13/34/j/c.php';$b = '/a/b/c/d/e.php';$a = '/a/b/12/34/c.php';function getRelativeDir($a, $b) 阅读全文

posted @ 2013-10-27 11:40 出发的兰彻 阅读(529) 评论(0) 推荐(0)

awk神器
摘要:先上硬货学习语法之前先介绍下awk的几个内建变量$0当前记录(这个变量中存放着整个行的内容)$1~$n当前记录的第n个字段,字段间由FS分隔FS输入字段分隔符 默认是空格或TabNF当前记录中的字段个数,就是有多少列NR已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加中。FNR当前记录数,与NR不同的是,这个值会是各个文件自己的行号RS输入的记录分隔符, 默认为换行符OFS输出字段分隔符, 默认也是空格ORS输出的记录分隔符,默认为换行符FILENAME当前输入文件的名字常用语句如下awk'{print $1, $4}'netstat.txtawk&# 阅读全文

posted @ 2013-10-26 11:48 出发的兰彻 阅读(393) 评论(0) 推荐(0)

PHP使用Mysql事务
摘要:摘抄至http://www.cnblogs.com/dreamhome/archive/2012/10/22/2733715.html 阅读全文

posted @ 2013-10-24 18:38 出发的兰彻 阅读(421) 评论(0) 推荐(0)

PHP使用session_set_save_handler陷阱
摘要:陷阱如下当脚本使用了session_set_save_handler 来重定向 session后,使用session_destroy后再使用session_start()重新开启session会报错代码如下,function.session-start]: Failed to initialize storage module: user (path: /var/lib/php/session) in /home/user/site/session.php on line 39屏蔽session_set_save_handler('open', 'close', 阅读全文

posted @ 2013-10-23 13:46 出发的兰彻 阅读(551) 评论(0) 推荐(0)

PHP闭包研究
摘要:闭包也就是PHP的匿名函数, 但是和函数不同的是,闭包可以通过use使用函数声明时所在作用域的变量的值。形式如下$a = function($arg1, $arg2) use ($variable) { // 声明函数闭包到变量$a, 参数为$arg1, $arg2 ,该闭包需使用$variable变量}例如<?php$result = 0; $one = function(){ var_dump($result); }; $two = function() use ($result){ var_dump($result); }; // 可以认为 $two这个变量 本身记录了该函数的声明 阅读全文

posted @ 2013-10-22 18:38 出发的兰彻 阅读(169) 评论(0) 推荐(0)

导航