phalconphp 2.0支持从phar文件中注册空间与加载

在phalconphpV1.3时代,要引入phar文件中的类,必须通过loader的beforeCheckPath事件手动require类文件进来:

$loader->registerNamespaces(array(
	'Qing\Lib'=>'phar://'.QING_ROOT_PATH.'/core.zip/lib/Qing/',
	'Qing\Models'=>'phar://'.QING_ROOT_PATH.'/core.zip/models/',
	'Qing\Service'=>'phar://'.QING_ROOT_PATH.'/core.zip/services/',
	'Qing\DataView'=>'phar://'.QING_ROOT_PATH.'/core.zip/dataview/',
	'Qing\Traits'=>'phar://'.QING_ROOT_PATH.'/core.zip/traits/',
	'Qing\Component'=>'phar://'.QING_ROOT_PATH.'/core.zip/component/',
	'Qing\DTO'=>'phar://'.QING_ROOT_PATH.'/core.zip/dto/',
	'Zend'=>'phar://'.QING_ROOT_PATH.'/core.zip/lib/Zend/',
	'ZendXml'=>'phar://'.QING_ROOT_PATH.'/core.zip/lib/ZendXml/',
    'Phalcon'=>'phar://'.QING_ROOT_PATH.'/core.zip/lib/Phalcon/'
));
$loader->setEventsManager($eventsManager);
//以下代码在phalconphp2.0中要注释掉==========
$eventsManager->attach('loader', function($event,$loader){
   if($event->getType()=='beforeCheckPath' && stripos($loader->getCheckedPath(), 'phar://')===0){
       require_once $loader->getCheckedPath();
       return true;
   } 
});
//==========================================
$loader->register();

新发布的phalconphp2.0,不需要再通过loader的beforeCheckPath事件手动require

Dreamweaver的源码搜索功能如何识别新的文件扩展volt

phalconphp采用volt模板引擎,模板文件是以.volt结尾的。用dreamweaver的批量查找替换功能时,发现无法查找.volt文件并替换里面的内容,需要修改Dreamweaver配置,以mac版的dreamweaver cc为例:

dreamvercc 阅读更多

分享2011年写的如何计算服务器带宽

不同的访问量,不同的时间段,服务器的实际占用带宽也不一样。在计算之前,我们必须根据一些历史经验数据做为前提假设,才能计算出大概符合我们实际需要的带宽。

假设1、每1次成交需要100PV;1个PV即一次页面访问,根据艾瑞研究统计,2010年12月国内15家访问量最大的电子商务网站总成交率是每100PV成交5.5单,服装类凡客诚品的成交率是3.4单每100PV,我们假定我们每100PV只能成交1单。

daikuan1

daikuan2

 

 

假设2:每次访问产生的流量大小为100KB——行业经验数据。

假设3:最高峰时每秒的PV是平均PV的5倍­——行业经验数据。

根据以上设立的条件,我们按我们想要的成交量进行倒推,得到以下数据:

daikuan3

我们目前服务器的带宽是30Mbps,根据上表所示,我们可支持不超过每日7000件的成交量,最大支持近70万的日访问量。这是我们的估算值,实际环境可能会和这个有点出入,但应该比较接近客观值。今后我们需要对服务器建立长期的性能数据监测分析,根据实际数据进行分析就可以得到更为客观的数据。

zendstudio远程调试服务器

1.服务器配置

(1)下载zenddebugger.so文件,放入相应目录

(2)修改php.ini,增加以下内容:

zend_extension=/data/sys/php/lib/php/extensions/no-debug-non-zts-20090626/ZendDebugger.so
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always

2.开发机命令行下运行

ssh -R 10137:127.0.0.1:10137 root@服务器ip -N

3.在zendstudio上打开要调试的php文件,设定断点

4.打开浏览器,运行Zend debug,即可调试

zendstudio11 mac版破解无法生效问题

网上有破解文件,但按操作后,一粘上序列号,zendstudio就自动退出,工作区目录/.meta/.log显示错误是java.lang.UnsupportedClassVersionError: com/zend/verifier/license/LicenseKey

推测可能是破解的文件用了较新的jdk编译,而我的电脑jdk版本(1.6)过低导致,升级jdk至1.8后,问题解决

mac版jdk1.8下载:http://download.oracle.com/otn-pub/java/jdk/8u20-b26/jdk-8u20-macosx-x64.dmg

zendstudio11.01破解文件:http://download.csdn.net/detail/traingoestowinter/7856937

 

顺丰查询api

http://i.sf-express.com/weiwap/showroute.html?bno=单号

可以通过curl以post形式访问http://i.sf-express.com/service/weixin/checkroute,传参——bno:运单号,device:routeInfo,取回的结果类似:

{"mailno":"运单号",
"stepList":[
{"alias":null,"remark":"已收件","acceptTime":"2014?09?04 16:23:44","acceptAddress":"广州市"},
{"alias":null,"remark":"快件在广州\t装车, 准备送往下一站广州集散中心","acceptTime":"2014?09?04 18:54:22","acceptAddress":"广州市"},
{"alias":null,"remark":"快件在广州集散中心装车","acceptTime":"2014?09?04 20:08:44","acceptAddress":"广州市"}
]}

MAC+ZendServer+MySQL环境下编译sphinx时mysql.h file not found

我的开发环境:

操作系统 OSX 10.9.3,外加ZendServer,mySQL是zendServer安装后通过zendServer安装上去的。

编译安装sphinx2.1.8时,configure可以顺利通过,但make时报错:mysql.h file not found.查了ZendServer目录下的mysql目录,没发现有mysql.h文件,只好从apple.com网上下载一个mysql开发包

网址:http://support.apple.com/kb/HT200150?viewlocale=en_US,找到自己的mySQL版本。

打开终端Terminal

tar -xzf MySQL-55.binaries.tar.gz

cd MySQL-55.binaries

sudo tar -xzvf MySQL-55.root.tar.gz -C /

然后再进入sphinx2.1.8目录

./configure –prefix=/Users/dony/myphp/sphinx2.1.8 –with-mysql

make

make install

Apache Log Viewer的3.31版增加可自定义日志格式功能

Apache Log Viewer的3.31版增加可自定义日志格式功能。

Nginx

log_format common ‘$host $remote_addr [$time_local] “$request” $status $body_bytes_sent “$http_referer” “$http_user_agent” $http_x_forwarded_for’;

对应的配置:

LogFormat “%v %h %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\” \”%{X-Forwarded-For}i\””

未安装DPP软件,直接用DPP升级包安装DPP

佳能相机的光盘没带,又想用DPP,找了半天找不到下载的,网上的全是升级包,没先安装原版软件无法安装升级包,网上找到解决方法:利用修改注册表骗过DPP升级包,DPP升级包里已包括了整个最新版的DPP

方法如下: 阅读更多

IE10的语言包名称由zh_CN变成zh-Hans-CN

windows8的IE10语言包名称有变化,原来我们是zh_CN或zh_TW,现在是zh-Hans-CN,zh-Hans,zh-Hans-TW,这导致原来程序利用浏览器的HTTP_ACCEPT_LANGUAGE来自动识别用户语言的功能受影响,相关程序必须做调整