Archive for  php

snoopy模拟登陆后采集https开头的aspx页面[转]

发表于 2011-03-24 08:59 : 评论 ( 没有评论 )

阅读前请看Snoopy+Https的配置文章:让Snoopy也支持HTTPS的解决办法 snoopy采集https,会调用curl模块,因为要确保安装了该模块,并且指明了路径。(snoopy默认指定的就是正确的)

ThinkPHP 2.1RC 的自动验证的小BUG。

发表于 2011-03-22 16:21 : 评论 ( 没有评论 )

Windows上: UserlistModel.class.php 移植到Linux上,自动验证不自动启动,检查了一下,发现是文件名的问题,修改文件名为小写以后,问题解决。 Linux上: userlistModel.class.php 这个问题不知道有没有其它兄弟遇上,茫然中,求确认。 后确认此纠结源于TP未对自动验证的文件名做出验证,跟踪时也不会提示有错误。 正确的解决办法是严格按照TP的语法创建模型。 如: 和 按TP的标准语法,应该是后者,对应的是UserlistModel.class.php。 如是,这里的大小写标准有增加开发成本的嫌疑!

新浪API在线IP地址库

发表于 2011-02-27 12:44 : 评论 ( 没有评论 )

以前写了IP地址API介绍了腾讯的在线API,今天用新浪的API做下测试,速度也不错,支持格式化数据,返回Json等格式。 API地址:http://int.dpool.sina.com.cn/iplookup/iplookup.php

提高PHP编程效率的53个要点

发表于 2011-02-27 11:40 : 评论 ( 没有评论 )

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 2、$row[’id’] 的速度是$row[id]的7倍。 3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。 4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。 5、注销那些不用的变量尤其是大数组,以便释放内存。 6、尽量避免使用__get,__set,__autoload。 7、require_once()代价昂贵。 8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少(我也遇到在一些项目中因为目录权限的限制问题,使用相对路径的文件无法正常引入,系统显示文件不存在)。 9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。 10、函数代替正则表达式完成相同功能。

WAMPserver的PHP版本手工升级PHP5.2.17,

发表于 2011-01-12 15:02 : 评论 ( 3 条评论 )

一直使用WAMP作为Windows上的开发环境,可以安装多个PHP版本进行调试,十分方便。 但WAMP的PHP更新很慢,PHP5.2系更新到5.2.11就未再更新了,这段时间出了PHP5.2.17,以下是我手工对PHP进行升级的过程,同时完成了zend Optimezer和eaccelerator的安装配置,仅供参考。 配置过程说明: 假定Wamp安装在D:/wamp目录 假定Apache版本为Apache2.2.11,则Apache目录为D:\wamp\bin\apache\Apache2.2.11 假定当前PHP版本为php5.2.11,则PHP目录为D:\wamp\bin\php\php5.2.11 首先下载PHP5.2.17到本地,版本win32_TS http://mirrors.sohu.com/php/php-5.2.17-Win32.zip 其它版本可以sohu镜像下载,但只能使用ts系,就是线程安全,非线程安全版本未测试。  解压以后,将根目录下/ext目覆盖至PHPext目录;再将根目录下的所有文件复制到Apache/Bin目录,并对Apache/Bin目录的php.ini进行设置。PHP5.2.11的配置文件可以在PHP5.2.17下使用。 这样,就完成了PHP的版本升级,在PHPinfo里能看到PHP版本信息。 接下来可以再安装eaccelerator和zend Optimezer,我已经将eaccelerator for PHP5.2.17的版本编译好,以下可以打包下载,版本均为win32_ts。 eaccelerator官网目前还未提供5.2.17的编译包,需要的同学可以自己下载源码包编译,这里飞过。 Zend版本是3.3.3,仅适用于PHP5.2.x及以下版本,PHP5.3.x版请自行到Zend官网下载Zend Loader。 http://www.4wei.cn/files/Zend.rar 将文件下载解压到WAMP/bin目录,eAccelerator_ts.dll所在Zend目录为D:\wamp\bin\Zend\lib,然后在Apache/Bin/php.ini末尾加上以下命令: 这里的Zend代码一定要放到eaccelerator后面,否则无法加载eaccelerator,原因不明。 至此,环境配置完成。

PHP5.3.x安装Zend Optimizer(Zend Guard Loader)[Linux][Windows]

发表于 2011-01-4 12:35 : 评论 ( 6 条评论 )

到目前发稿截止,Zend Optimizer目前的版本为3.3.3(Windows)、3.3.9(Linux),且均不支持PHP5.3及以上版本。 很多同学包括我自己,一直也是被B的只能使用PHP5.2版本,当然,因为DEDE对PHP5.3的支持不好,也没办法,只能停在5.2时代。 根据官方的说法,一直是这样:由于PHP5.3的升级功能太多,ZP更新以后,也无法再往下兼容低版本的Zeng Guard加密的PHP文件,甚至不支持PHP5.2.13以下版本的PHP环境。 总结成一句话,那就是“PHP版本更新太快了,已经没必要向下兼容低版本的Zend Guard和PHP5.2及以下版本了”。就如同PHP5.3不能兼容PHP5.2一样,很多函数被取消,很多同学认为这是PHP5时代和PHP6时代的分水岭。 PHP6就要来了。 话说了这么多,最重要的一点,其实PHP5.3也可以安装Zend Optimizer的。因为Zend公司专门针对5.3版本出了专用版本。那就是传说中的“Zend Guard Loader (Runtime for PHP 5.3)” 目前推测这个版本只能用于5.3系列,其官方网站已经明确列出5.2和5.3系的下载地址:http://www.zend.com/en/products/guard/downloads。 PHP5.3安装Zend Optimizer,已经被正式改成了“Zend Guard Loader”,简单来说,就是不需要安装软件,而是直接在php.ini中调用组件(扩展)即可。

向大家推荐一款免费开源的问卷调查系统,VeryIDE APPS。

发表于 2010-12-13 09:54 : 评论 ( 1 条评论 )

VeryIDE 是一套集成在线表单定制,投票定制,PK擂台,广告管理等多种应用的系统,到目前来看,已经是我遇到的功能最强大的调查问卷系统(有免费开源版)。 无奈VeryIDE官网的优化做得实再不好,整个网站就没有看到一个“问卷调查系统”的关键字。 VeryIDE集成广告管理系统、表单定制、选票(投票)系统、试题(问答)系统、PK(擂台)系统等等多种应用,并具备良好扩展性于一身的应用平台,为用户提供更具亲和力的服务产品。目前还未能实现UC整合。 官方网站:http://www.veryide.com/

IP地址API

发表于 2010-11-29 11:26 : 评论 ( 没有评论 )

当我们开发了一些应用以后,可能需要限制用户程序进行分发,典型的例子就是绑定域名的App。如果用户将域名使用本地HOST解析,很有可能绕过程序的域名限制,从而绑定其它域名进行产品分发。 使用本地和服务器端IP同步验证,则可以很好的解决这个问题。 如果,使用gethostbyname取得一个域名的IP,同时再去访问一下其它外网,取得程序所在外网IP,如果两个IP不一样,则可以判断出程序的合法性。 从一些大网站取得IP是比较可行的办法。