随笔分类 -  PHP

摘要:环境:Windows+Apache在开发过程中,我们肯那个会有调用IE的需求,代码如下:<?php$browser=newCOM("InternetExplorer.Application");$handle=$browser->HWND;...?>第一句代码很可能会报如下错误:Failed to create COM object `InternetExplorer.Application'碰到此类错误,可以从如下方面进行检查1.判断IE的com组件是否被其他浏览器强制占用在控制面板打开管理工具 --> 组件服务 --> 计算机--& 阅读全文
posted @ 2012-04-28 11:29 再快一点 阅读(2616) 评论(0) 推荐(0) 编辑
摘要:测试环境:windows 2003 + php5.3.5 + apache2.2 + scws 1.1.9自定义词库,words.txt 如下:腾讯1.01.0@C++1.01.0!中国人1.01.0!就是1.01.0!1.每行由4个字段组成,依次为“词语"(由中文字或3个以下的字母合成), "TF", "IDF", "词性", 字段之间用空格或制表符分开,数量不限(注意,发现如果字段时间用空格隔开,然后用scws官方的php程序将txt词库转换xdb后,词库无效,但是txt词库有效,所以为了兼容性,字段之间最好仅用一个制表 阅读全文
posted @ 2012-03-19 15:43 再快一点 阅读(3016) 评论(2) 推荐(1) 编辑
摘要:测试环境:Windows Server2003 + PHP5.3.5_TS + Apache2.2.19新建1.php,放在localhot根目录下,文件内容如下:<?phpset_error_handler(function(){echo'出错了';});set_exception_handler(function(){echo'出错了';});error_reporting(E_ALL&~E_NOTICE);//一段html文本$html='<divclass="play_video"><divid 阅读全文
posted @ 2012-03-13 15:44 再快一点 阅读(1395) 评论(0) 推荐(0) 编辑
摘要:测试环境:Windows 2003 + PHP5.3.5 +Apache2.2.19.0php.ini中的include_path设置如下:include_path="D:\php_5.3.5\pear;F:\PHP\Lib;" 注意 , 没有 . include_path中的.代表当前工作目录include第一次找到某文件后,会缓存结果。下一次include相同的路径时,只取缓存结果而不会多重查找,这就导致了我们移除某文件后可能短暂的时间内include会报错(因为include机制发现缓存结果的路径不存在,不会往下一重查找而是报错)。所以测试的时候需要include前面 阅读全文
posted @ 2012-02-13 15:29 再快一点 阅读(3862) 评论(0) 推荐(0) 编辑
摘要:在localhost根目录建立1.php如下:<?php$ch=curl_init('http://localhost/post.php');curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //localhost:8888是fiddler的代理,设置此选项用于让fiddler抓获post的请求curl_setopt($ch,CURLOPT_PROXY,'localhost:8888');//下面这一句必须注释,不然Fiddler抓不到Post的http 阅读全文
posted @ 2012-01-05 15:34 再快一点 阅读(10068) 评论(0) 推荐(0) 编辑
摘要:测试环境,从本机(windows)访问内外一台linux服务器(此服务器装的是nginx)服务器上的index.php如下:<?phpecho1;?>1.使用Http1.1协议请求functionasyn_sendmail(){$ip='192.168.1.45';$url='/index.php';$fp=fsockopen($ip,80,$errno,$errstr,5);if(!$fp){echo"$errstr($errno)<br/>\n";}$end="\r\n";$input=&quo 阅读全文
posted @ 2011-12-30 10:11 再快一点 阅读(2238) 评论(0) 推荐(0) 编辑
摘要:1. 引用不能被传递<?php$a=1;$b=&$a;$c=$b;$c=99;echo$a;//1?>2.如果对一个未定义的变量进行引用赋值、引用参数传递或引用返回,则会自动创建该变量。<?phpfunctionfoo(&$var){}foo($a);//$ais"created"andassignedtonull$b=array();foo($b['b']);var_dump(array_key_exists('b',$b));//bool(true)$c=newStdClass;foo($c->d) 阅读全文
posted @ 2011-11-18 23:42 再快一点 阅读(171) 评论(0) 推荐(0) 编辑
摘要:1.假如userinfo有如下两条文档{ "_id" : 1, "name" : "ly", "friends" : [ { "name" : "mxw", "age" : 25 }, { "name" : "cpp", "age" : 21 } ] }{ "_id" : 2, "name" : "wq", "friends&q 阅读全文
posted @ 2011-10-26 11:19 再快一点 阅读(193) 评论(0) 推荐(0) 编辑
摘要:转自:http://developer.51cto.com/art/201010/229479.htm 阅读全文
posted @ 2011-09-21 15:01 再快一点 阅读(389) 评论(0) 推荐(0) 编辑
摘要:1.调试本地服务器(通常是Apache HTTP Server)上的PHP应用程序,及使用浏览器和XDebug调试PHP程序(与当前设置的PHP解释器无关)2.调试PHP脚本(需要设置工具->选项->PHP->PHP解释器)3.调试远程服务器上(通过 FTP)(1)需要说明的是第一种方式使用XDebug调试,所以不管你机子上安装了多少个版本的PHP ,都会使用httpd.conf中通过PHPIniDir指定的PHP版本,这要要求我们下载与php版本对应的Xdebug.dll,并在php.ini中配置好。相比于ZendStudio8.0.1还要手动选择XDebug和手动设置PH 阅读全文
posted @ 2011-09-08 12:11 再快一点 阅读(12853) 评论(0) 推荐(2) 编辑
摘要:int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )根据给出的参数返回 Unix 时间戳。时间戳是一个长整数,包含了从 Unix 纪元(January 1 1970 00:00:00 GMT)到给定时间的秒数。 参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值int gmmktime ([ int $hour [, int $minute [, int $second [, int $mon.. 阅读全文
posted @ 2011-09-06 20:29 再快一点 阅读(5762) 评论(0) 推荐(1) 编辑
摘要:主从复制1.启动时使用主从复制(1)启动一个主服务器: mongod --dbpath D:\mongodb\data --master(2)启动一个从服务器: mongod --dbpath D:\MongoDB\Data_10000 --port 10000 --slave --source localhost:27017(3)再启动一个从服务器:mongod --dbpath D:\MongoDB\Data_10001 --port 10001 --slave --source localhost:27017发现如下几点:(1)当主从服务器都启动时,使用shell登录从服务器,然后使用i 阅读全文
posted @ 2011-09-04 23:26 再快一点 阅读(500) 评论(0) 推荐(0) 编辑
摘要:测试条件:Windows+MongoDB 1.8.2先插入测试数据:for(var i=1; i<20; i++){ var num=i%6; db.test.insert({_id:i,name:"user_"+i,age:num});}1.普通分组查询db.test.group({key:{age:true},initial:{num:0},$reduce:function(doc,prev){ prev.num++}});db.runCommand({group: { ns:"test", key:{age:true}, initial:{n 阅读全文
posted @ 2011-08-31 23:40 再快一点 阅读(36967) 评论(1) 推荐(3) 编辑
摘要:测试环境:PHP5.3 +mongo-1.1.4-php5.3vc6ts的php_mongo.dll使用mongostat观察发现:1.mongostat本身也占用一个数据库连接2.PHP的mongo扩展默使用短连接,类似如此代码:new Mongo("mongodb://192.168.1.108/test"),这种短连接一般在超出变量作用域后会自己关闭3.PHP也可以使用长连接:for($i=0;$i<100;$i++){//mongodb://[username:password@]host1[:port1][,host2[:port2:],...]/db // 阅读全文
posted @ 2011-08-28 17:53 再快一点 阅读(2786) 评论(0) 推荐(0) 编辑
摘要:<?php$db = new Mongo ();$res = $db->wq->post->find ();foreach ( $res as $key => $val ) { echo "$key => "; EchoArray ( $val ); echo "<br/>";}function EchoArray($ele) { if (is_array ( $ele )) { echo "["; $i = 0; $count = count ( $ele ); foreach ( $ 阅读全文
posted @ 2011-08-27 18:54 再快一点 阅读(133) 评论(0) 推荐(0) 编辑
摘要:假设httpd.conf里的 DocumentRoot 为 DocumentRoot "D:/Apache3W"使用<Directory>指令设置url重写,在httpd.conf写如下内容<Directory "D:/Apache3W"> RewriteEngine on RewriteRule ^([^\.]+)$ $1.php Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all</Directory>&l 阅读全文
posted @ 2011-08-26 12:17 再快一点 阅读(6966) 评论(0) 推荐(0) 编辑
摘要:下载zlib(因为php的memcache扩展模块使用了函数»zlib 来支持数据压缩,因此安装此模块需要安装Zlib模块。):http://sourceforge.net/projects/libpng/files/zlib/1.2.5/zlib-1.2.5.tar.gz/download 下载memcache的php扩展:http://pecl.php.net/get/memcache-3.0.6.tgz由于Ubuntu11.04默认没有安装zlib,所以首先安装 zlibtar-xzvfzlib-1.2.5.tar.gzcdzlib-1.2.5./configure--pref 阅读全文
posted @ 2011-08-19 12:00 再快一点 阅读(3768) 评论(0) 推荐(0) 编辑
摘要:pecl的memcache扩展(注意,不是memcache的扩展,两者不同)中连接memcache服务器有两种方式:1.短连接(Memcache::connect)使用方法 Memcache::connect()打开的连接在脚本执行结束后会自动关闭。当然,你也可以使用方法 Memcache::close()来主动关闭2.长连接(Memcache::connect)这个连接不会在脚本执行结束后或者Memcache::close()被调用后关闭,持久化连接仅仅会在web服务器关机/重启时关闭。memcache的分布式是通过Memcache::addServer这个方法实现的,下面在windows. 阅读全文
posted @ 2011-08-16 20:03 再快一点 阅读(15500) 评论(1) 推荐(1) 编辑
摘要:数组能够传递引用:functionfun($arr){echovar_dump($arr);$arr[0]=99;$arr[1]=100;}$a=123;$b=456;fun(array(&$a,&$b));echo"$a,$b<br/>";PHP5.3.0新增了闭包支持:functionfuntest(){$a=18;$b="Ly";$fun=function($num,$name)use(&$a,&$b){//echo"\$a:$a,\$b:$b<br/>";//输出$a=$ 阅读全文
posted @ 2011-08-06 14:43 再快一点 阅读(4871) 评论(0) 推荐(1) 编辑