gearmand
摘要:gearmand的简单介绍:(任务分发器)PHP 的 Gearman 库能把工作分发给一组机器。Gearman 会对作业进行排队并少量分派作业,而将那些复杂的任务分发给为此任务预留的机器。这个库对 Perl、Ruby、C、Python 及 PHP 开发人员均可用,并且还可以运行于任何类似 UNIX® 的平台上,包括 Mac OS X、 Linux® 和 Sun Solaris。 Gearman是一个用来把工作委派给其他机器、分布式的调用更适合做某项工作的机器、并发的做某项工作在多个调用间做负载均衡、或用来在调用其它语言的函数的系统。简单示意图:client:任务发...
阅读全文
posted @
2012-09-28 01:20
思齐_
阅读(3293)
推荐(0) 编辑
zend框架学习
摘要:用Zend Studio 或者zf工具,新建一个Zend Framework工程在application->configs目录下有一个application.ini文件,默认有4组配置,即开发(development)、测试(testing)、演示(staging)、上线(production),Zend Framework默认使用上线的配置,因此错误消息不会出现,给初学者造成不少麻烦,因此对照开发的配置(如下),将上线的配置同样的3行的值改成1。1 [development : production]2 phpSettings.display_startup_errors = 13 p
阅读全文
posted @
2012-09-23 13:35
思齐_
阅读(285)
推荐(0) 编辑
vhost配置
摘要:vhost:<VirtualHost *:80> DocumentRoot "E:\wamp\www\zend\public" ServerName zend.cm DirectoryIndex index.php index.php3 index.html index.htm</VirtualHost>http.conf:SetEnv kang 宋建康 #SERVER变量中增加kang,用$_SERVER['kang']获取
阅读全文
posted @
2012-09-23 10:54
思齐_
阅读(1724)
推荐(0) 编辑
ttserver 安装使用
摘要:Tokyo Cabinet 是日本人 平林幹雄 开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍。 Tokyo Tyrant 是由同一作者开发的 Tokyo Cabinet 数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。 Tokyo Tyrant 加上 Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,...
阅读全文
posted @
2012-09-23 10:45
思齐_
阅读(1132)
推荐(0) 编辑
lnmp 安装笔记
摘要:mysql 安装To start mysqld at boot time you have to copysupport-files/mysql.server to the right place for your systemPLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !To do so, start the server, then issue the following commands:/usr/local/webserver/mysql/bin/mysqladmin -u root password 'n
阅读全文
posted @
2012-09-18 18:27
思齐_
阅读(239)
推荐(0) 编辑
ttserver 安装使用
摘要:Tokyo Cabinet 是日本人 平林幹雄 开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍。Tokyo Tyrant 是由同一作者开发的 Tokyo Cabinet 数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。Tokyo Tyrant 加上 Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数.
阅读全文
posted @
2012-09-14 01:27
思齐_
阅读(1624)
推荐(0) 编辑
全局变量 global和$GLOBALS[]的区别
摘要:global在函数内产生一个指向函数外部变量的别名变量(指向外部变量的引用),而不是真正的函数外部变量$GLOBALS[]确确实实调用是外部的变量,函数内外会始终保持一致!functiontest_global(){global$var1,$var2;//var1,var2保存的是外部同名变量的引用$var2=&$var1;}functiontest_globals(){$GLOBALS['var3']=&$GLOBALS['var1'];//操作的是实际的变量}$var1=5;$var2=$var3=0;test_global();echo$v
阅读全文
posted @
2012-09-12 18:26
思齐_
阅读(659)
推荐(1) 编辑
面向对象的一些东西
摘要:/** * * 抽象类名和方法都必须用abstract * 抽象类不可以实例化,想使用,就必须用一个类去继承他,并且把他所有的 * 抽象方法全部重写 * * */abstract class man1{ //子类的成员属性级别必须等于或弱于父类的 public $a = ''; //这样的函数为抽象函数,没有{} abstract public function say(); abstract public function eat(); //也可以有不抽象的方法 public function run() { ...
阅读全文
posted @
2012-09-11 11:13
思齐_
阅读(1284)
推荐(0) 编辑
php 设计模式
摘要:1.单例模式单例模式顾名思义,就是只有一个实例。作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。为什么要使用PHP单例模式1. php的应用主要在于数据库应用, 一个应用中会存在大量的数据库操作, 在使用面向对象的方式开发时, 如果使用单例模式, 则可以避免大量的new 操作消耗的资源,还可以减少数据库连接这样就不容易出现 too many connections情况。2. 如果系统中需要有一个类来全局控制某些配置信息, 那么使用单例
阅读全文
posted @
2012-09-09 13:56
思齐_
阅读(55055)
推荐(13) 编辑
服务端口汇总
摘要:memcache :11211memcacheq:22201sphinx: 9312mongodb:27017redis:6379
阅读全文
posted @
2012-09-09 12:00
思齐_
阅读(473)
推荐(1) 编辑
修改session的生存时间
摘要:1.session回收//session的实效时间 session.gc_maxlifetime = 86400//垃圾回收的概率#概率是gc_probability/gc_divisorsession.gc_probability = 1session.gc_divisor = 100<?phpif(!isset($_SESSION['last_access'])||(time()-$_SESSION['last_access'])>60)$_SESSION['last_access']=time();?>http://www
阅读全文
posted @
2012-09-04 16:23
思齐_
阅读(3308)
推荐(0) 编辑
用401做服务器登陆
摘要:if(!isset($_SERVER['PHP_AUTH_USER'])||!isset($_SERVER['PHP_AUTH_PW'])||$_SERVER['PHP_AUTH_USER']!=ADMIN_USERNAME||$_SERVER['PHP_AUTH_PW']!=ADMIN_PASSWORD){Header("WWW-Authenticate:Basicrealm=\"YouNeedLogin\"");Header("HTTP/1.0401Unauthorized&q
阅读全文
posted @
2012-09-04 15:47
思齐_
阅读(328)
推荐(0) 编辑
php 命令行方式使用
摘要:1.使用标准的输入和输出你可以在自己的PHP脚本里使用这三个常量,以接受用户的输入,或者显示处理和计算的结果。要更好地理解这一点,可以看看下面的脚本//askforinputfwrite(STDOUT,"Enteryourname:");//getinput$name=trim(fgets(STDIN));//writeinputbackfwrite(STDOUT,"Hello,$name!"); 在这个脚本里,fwrite()函数首先会向标准的输出设备写一条消息,询问用户的姓名。然后它会把从标准输入设备获得的用户输入信息读取到一个PHP变量里,并它把合
阅读全文
posted @
2012-09-02 21:05
思齐_
阅读(431)
推荐(1) 编辑
查找
摘要:1.顺序查找$arr=array(1,2,3,4,4);//顺序查找functionsearch($value,&$arr){$arr_search=array();foreach($arras$k=>$v){if($v==$value){$arr_search[$k]=$v;}}if(empty($arr_search)){returnfalse;}else{return$arr_search;}}var_dump(search(4,$arr));2.二分法查找/***二分查找,前提是该数组必须是个有序的才行,如果不是必须先排序*/$arr=array(1,2,3,4,5,6)
阅读全文
posted @
2012-09-02 11:40
思齐_
阅读(193)
推荐(0) 编辑
GET代替POST?
摘要:雅虎的前端优化法则中有一句:Use GET for AJAX Requests验证XHR请求中yahoo推荐用GET代替POST做法的理由POSTisimplementedinthebrowsersasatwo-stepprocess:sendingtheheadersfirst,thensendingdata.Soit’sbesttouseGETPOST请求分两步:发送httpheaders,再发送httpdata XHR HTTP的POST请求会分为两步,先发HTTP HEADER,再发HTTP DATA部分firefox大部分版本在XP、WIN7、UBUNTU、MAC OS等系统上都是以
阅读全文
posted @
2012-09-02 00:01
思齐_
阅读(753)
推荐(0) 编辑
排序
摘要:效率比较:冒泡1){$k=$seq[0];$x=array();$y=array();$_size=count($seq);//donotusecount($seq)inloopfor.for($i=1;$i=0&&$insertValue$arr[$j]){$minIndex=$j;$minVa...
阅读全文
posted @
2012-09-01 22:32
思齐_
阅读(236)
推荐(0) 编辑
多为数组转换成一维-递归
摘要://静态变量是只存在于函数作用域中的变量,注释:执行后这种变量不会丢失(下次调用这个函数时,变量仍会记着原来的值)functionarray_multi2single($array){static$result_array=array();foreach($arrayas$value){if(is_array($value)){array_multi2single($value);}else$result_array[]=$value;}return$result_array;}$array=array("1"=>array("A","B
阅读全文
posted @
2012-09-01 20:18
思齐_
阅读(225)
推荐(0) 编辑
操作目录
摘要://会把所有的文件放到引用的那个数组中 function myscandir($dirname,&$arr_files) { $arr = array(); $dir=opendir($dirname); while($filename=readdir($dir)){ $file=$dirname."/".$filename; if($filename!="." && $filename!=".."){ if(is_dir($file)){ ...
阅读全文
posted @
2012-09-01 19:44
思齐_
阅读(248)
推荐(0) 编辑
递归-树
摘要:$arr = array( 1 => array('id'=>'1','parentid'=>0,'name'=>'一级栏目一'), 3 => array('id'=>'3','parentid'=>1,'name'=>'二级栏目一'), 4 => array('id'=>'4','parentid'=>1,'nam
阅读全文
posted @
2012-09-01 19:13
思齐_
阅读(227)
推荐(0) 编辑
php调试工具安装
摘要:1.xdebugphp.ini中加入以下配置信息即可;是否开启自动跟踪xdebug.auto_trace = On;是否开启异常跟踪xdebug.show_exception_trace = On;是否开启远程调试自动启动xdebug.remote_autostart = On;是否开启远程调试xdebug.remote_enable = On;允许调试的客户端IP;xdebug.remote_host=192.168.1.107;远程调试的端口(默认9000)xdebug.remote_port=9000;调试插件dbgpxdebug.remote_handler=dbgp;是否收集变量xd
阅读全文
posted @
2012-09-01 12:16
思齐_
阅读(232)
推荐(0) 编辑