PHP相关
silentime
百度IDC运维平台项目经理,负责百度IDC资源管理平台、大规模自动化运维平台、IDC供应链管理平台、IDC数据统计分析和数据挖掘平台开发,愿与大家共进步,同发展!
展开
-
[转]VLD扩展使用指南
原文地址:http://www.phppan.com/2011/05/vld-extension/ VLD(Vulcan Logic Dumper)是一个在Zend引擎中,以挂钩的方式实现的用于输出PHP脚本生成的中间代码(执行单元)的扩展。 它可以在一定程序上查看Zend引擎内部的一些实现原理,是我们学习PHP源码的必备良器。它的作者是Derick Rethans, 除了V...原创 2011-05-04 14:44:57 · 135 阅读 · 0 评论 -
[转]深掘XSS漏洞场景之XSS Rootkit
转载顿神大作:http://www.80sec.com/%E6%B7%B1%E6%8E%98xss%E6%BC%8F%E6%B4%9E%E5%9C%BA%E6%99%AF%E4%B9%8Bxss-rootkit-%E4%BF%AE%E8%AE%A2.html 深掘XSS漏洞场景之XSS Rootkit[完整修订版]EMail: rayh4c#80sec.comSite: htt...原创 2011-10-21 12:22:45 · 166 阅读 · 0 评论 -
Yii分析6:CHttpRequest
官方说明:CHttpRequest封装了$_SERVER变量,同时解决了不同web服务器之间一致性的问题。/** * 返回当前请求的路径. * 头尾的斜线会被去除掉 * 注意从1.1.4开始pathinfo被编码 * 在1.1.4之前, 是否被编码取决于服务器 * (大部分情况未编码). */ public fu...2011-08-03 11:20:30 · 128 阅读 · 0 评论 -
PHP的is_callable和method_exists方法比较
之前发过一篇关于is_callable的文章,主要是PHP手册的翻译,现在把is_callable和mehod_exists做一下比较,加深理解: 比较内容method_existsis_callable调用形式bool method_exists ( mi...2011-08-03 13:17:07 · 119 阅读 · 0 评论 -
[推荐]基于PHP和MySQL的开源点击统计软件Piwik
刚刚发现一款基于PHP和MySQL的开源点击统计软件Piwik,类似google analytics,生成一段JS,然后部署在网站所有页面的尾部,就可以进行pv,来源,ua等等的统计,支持中文,强烈推荐! 官方地址:http://piwik.org/...2011-08-10 11:50:08 · 108 阅读 · 0 评论 -
PHPExcel解决内存占用过大问题-设置单元格对象缓存
PHPExcel是一个很强大的处理Excel的PHP开源类,但是很大的一个问题就是它占用内存太大,从1.7.3开始,它支持设置cell的缓存方式,但是推荐使用目前稳定的版本1.7.6,因为之前的版本都会不同程度的存在bug,以下是其官方文档: PHPExcel1.7.6官方文档 写道PHPExcel uses an average of about 1k/cell in you...2011-04-03 21:06:02 · 1187 阅读 · 0 评论 -
[转]Agile Toolkit PHP的Web界面开发框架
Agile Toolkit 是一个高性能的 PHP 框架,用于 Web UI 的开发,基于 jQuery 。使用 Agile Toolkit 开发 UI 效率是非常高的,因为它已经帮你无缝的绑定了数据库和界面以及安全方面的集成。原文地址:...2011-04-07 10:31:13 · 125 阅读 · 0 评论 -
[转]YouTube架构学习体会
原文地址:http://www.itivy.com/ivy/archive/2011/3/6/634350416046298451.html 这几天一直在关注和学习一些大型网站的架构,希望有一天自己也能设计一个高并发、高容错的系统并能应用在实践上。今天在网上找架构相关的资料时,看到一个被和谐的视频网站YouTube的架构分析,看了以后觉得自己又向架构走近了一步,于是赶快拿出来与大...原创 2011-11-22 10:15:10 · 125 阅读 · 0 评论 -
[转]优酷网架构学习笔记
原文地址:http://www.itivy.com/ivy/archive/2011/8/13/the-architecture-of-youku.html 记得以前给大家介绍过视频网站龙头老大YouTube的技术架构,相信大家看了都会有不少的感触,互联网就是这么一个神奇的东西。今天我突然想到,优酷网在国内也算是视频网站的老大了,不知道他的架构相对于YouTube是怎...原创 2011-11-22 10:22:40 · 112 阅读 · 0 评论 -
Yii分析9:CController控制视图(Cview)的展现
《The Definitive Guide to Yii》描述了视图的概念:“视图是一个包含了主要的用户交互元素的PHP脚本.他可以包含PHP语句”,不同于很多类似的框架,Yii并没有使用smarty作为模板引擎,而是直接使用原生的PHP脚本作为模板,笔者认为至少有以下两点好处: (1) 门槛低,易于使用,不需要理解和记忆smarty的模板语言语法 (2) 减少了模板引擎...2011-11-30 00:01:10 · 183 阅读 · 0 评论 -
Yii分析10:Yii核心组件之数据库类CDbConnection
数据库类几乎是每个PHP框架必不可少的组件之一,Yii的数据库核心主要包含两类,一类是管理数据库连接的CDbConnection及相关类,另一类是ORM(Object Relation Model),即管理数据库表记录的CActiveRecord及相关类。首先我将介绍和分析数据库连接管理类CDbConnection,CDbConnect作为CApplication的核心组件,在应用初始化...2012-02-17 09:18:44 · 445 阅读 · 0 评论 -
Yii分析11:Yii核心组件之错误处理类CErrorHandler
类如其名,CErrorHandler在Yii中主要的功能就是处理未捕获的错误和异常,它使用两种视图:开发视图和生产视图,以区分不同的部署环境。与CDbConnection一样,CErrorHandler也是CApplication的一个核心组件,在创建应用程序时,作为应用程序的一个内部示例自动初始化,CErrorHandler没有定义自己的init函数,因此使用的是父类的初始化。 在...2012-02-24 09:57:59 · 315 阅读 · 0 评论 -
Yii分析12:Yii核心web组件之会话类CHttpSession
CHttpSession提供session级的数据管理和配置,实例化后可以像数组一样存取session值: $session=new CHttpSession; $session->open(); $value1=$session['name1']; // get session variable 'name1' $value2=$session['name...2012-03-06 09:44:07 · 106 阅读 · 0 评论 -
Yii分析13:Yii核心组件之AssetManager
我们通过使用来讲解CAssetManager的使用和工作机制,可以直接看yii自带的demo-blog,打开blog的首页,会看到如下的引入js的html代码: <link rel="stylesheet" type="text/css" href="/yii/demos/blog/assets/d6bb6ebe/highlight.css" /> <...2012-04-10 00:37:07 · 144 阅读 · 0 评论 -
【转】漫谈社区PHP 业务开发
原文地址:http://stblog.baidu-tech.com/?p=1954 在当前这个互联网业务飞速发展时期,新的产品如雨后春笋般涌出,老产品线新业务也在不断突破和尝试。这就对快速开发迭代提出了更高的要求。一、基础运行环境针对新产品的开发,必须能够快速搭建一套LAMP架构。那么无外乎选择一个webserver,选择一个php版本,选择一个mysql版本,再选择一个PH...原创 2012-11-19 10:07:34 · 113 阅读 · 0 评论 -
[转]HTTP缓存算法
原文地址:http://www.phppan.com/2012/12/http-cache-algorithm/推荐pan的博客:http://www.phppan.com HTTP协议缓存的目标是去除许多情况下对于发送请求的需求和去除许多情况下发送完整请求的需求。以不发送请求或减少请求传输的数据量来优化整个HTTP架构,此目标的实现可以产生如下好处:减少网络传输的冗...原创 2013-01-04 14:34:32 · 93 阅读 · 0 评论 -
《高性能PHP应用开发》读书笔记
注:只记录了一些关键点,部分知识点/内容请看到的朋友自行百度orG。注2:虽然叫高性能,但大部分内容都是概述,不算太高阶,适合有一定基础并且面临类似问题的同学阅读。 1. 使用AB进行性能测试2. 使用浏览器插件(Firebug、YSlow)排查问题3. 使用require而不是require_once(进行更多的操作系统调用)4. 提前计算循环长度$coun...原创 2014-12-24 09:20:26 · 184 阅读 · 0 评论 -
Yii分析7:runController的执行
在《Yii分析4:run的执行》一文中,介绍了Yii的app在执行run()方法时的主要步骤,在处理请求的方法processRequest()中首先通过路由管理类(参考《Yii分析5:路由管理类》)获取这个请求的route,之后将这个route作为参数传递给方法runController,接下来我们就来看看这个runController是如何执行的。 RunControl...2011-10-20 17:28:37 · 286 阅读 · 0 评论 -
PHP写二进制BOM头
今天在做数据(utf8)导出的时候,直接使用了PHP的putcsv函数,这样写出来的csv文件,在office2010中打开是乱码,原因是没有BOM头,他默认理解为GB2312了,因此在putcsv之前为文件增加BOM头,代码如下: $content = pack('H*','EFBBBF');fwrite($fp, $content); 这样就可以在office中直接打开了。...2011-03-21 15:33:38 · 109 阅读 · 0 评论 -
[转]10种方式实现跨域资源的共享
原文地址:http://www.ued163.com/?p=1800 同源策略在客户端编程语言中,如JavaScript和ActionScript,同源策略是一个很重要的安全理念,它在保证数据的安全性方面有着重要的意义。同源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法。那么什么叫相同域,什么叫不同的域呢?当两个域具有相同的协议(如ht...原创 2011-07-27 10:50:13 · 101 阅读 · 0 评论 -
Yii分析1:web程序入口(1)
以下分析基于Yii v1.0.6 Yii_PATH表示framework的路径 通常使用Yii框架的index.php程序如下:// change the following paths if necessary$yii = dirname(__FILE__).'/protected/lib/Yii/framework/yii.php';$config = dir...2011-01-24 14:39:38 · 116 阅读 · 0 评论 -
Yii分析1:web程序入口(2)
接上篇:Yii分析1:web程序入口(1) 然后调用了两个初始化异常/错误和注册核心组件的方法: $this->initSystemHandlers(); $this->registerCoreComponents(); 函数实现如下: //初始化errorhandler和exceptionhandler...原创 2011-01-24 23:16:16 · 110 阅读 · 0 评论 -
Yii分析1:web程序入口(3)
接上篇:Yii分析1:web程序入口(2) 本文分析前两篇文章用到的一些函数。 上一篇提到在preloadComponents的时候会调用getComponent,我们来看一下getComponent的细节: Yii_PATH/base/CModule.php //第二个参数标识如果是空则创建之,默认为true public function get...2011-01-25 22:49:01 · 144 阅读 · 0 评论 -
Yii分析3:Yii日志记录
Yii的自带组件有一个很实用的日志记录组件,使用方法可以参考Yii官方文档:http://www.yiiframework.com/doc/guide/1.1/zh_cn/topics.logging,在文档中提到,只要我们在应用程序配置文件中配置了log组件,那么就可以使用 Yii::log($msg, $level, $category);进行日志记录了。配置项示例如下:a...2011-05-12 18:29:22 · 154 阅读 · 0 评论 -
Doctrine Object relational mapper (ORM) for PHP
mark一下,有空了学习一下2011-01-28 11:23:12 · 102 阅读 · 0 评论 -
PHP中的is_callable函数
今天在看Yii源码的时候,看到一个函数is_callable,发现从网上下的chm格式的帮助手册的解释几乎是0,因此g之,发现也木有比较全面的文档,因此翻译一下官网的最新手册吧: 原文地址:http://php.net/manual/en/function.is-callable.php is_callable(PHP 4 >= 4.0.6, PHP 5)is_c...2011-02-18 16:47:00 · 109 阅读 · 0 评论 -
Yii分析2:组件的事件机制
在深入分析Yii的运行之前,我们先来看一下Yii框架中一个很重要的机制-事件。 Yii官方参考文档关于组件事件的解释: =======================================================================组件事件是一些特殊的属性,它们使用一些称作 事件句柄 (even...2011-02-18 17:12:52 · 128 阅读 · 0 评论 -
Yii分析4:run的执行
在创建完了一个Application之后,就是通过run方法来“运行”这个应用程序了:$app = Yii::CreateWebApplication($config); $app->run(); 下面,我们就来看看,run这个方法是怎么执行的,首先run方法并不是在一个具体的application(比如CWebApplication)中定义的,而是在他们的父类CApplic...原创 2011-06-14 22:01:25 · 264 阅读 · 0 评论 -
Yii分析5:路由管理类UrlManager
在分析yii webapplication执行之前,我们先来看看yii的路由管理类CUrlManager,很多框架都有路由的功能,通常情况是将controller和view的名称作为url的一部分传给入口程序,进而调用相应的controller和view进行处理,我们来分析一下yii是如何完成这样的工作的。关于UrlManager的使用,可以参考Yii官方文档:(http://www.yi...2011-06-14 22:04:04 · 168 阅读 · 0 评论 -
[推荐]Yii代码生成器Gii
Yii从1.1.2开始,有一个组件Gii可以自动生成代码,非常的方便啊,推荐使用: 关于Gii的文档:http://www.yiiframework.net/post/83/%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90%E4%BB%A3%E7%A0%81...2011-06-22 16:38:30 · 118 阅读 · 0 评论 -
[转]php中数组与字符串
原文地址:http://www.mirecle.com/2011/03/16/php-array-with-string.html 因为php的语法要求不严格,字符串也可以当数组使用,这样就存在一个问题:当使用非数字作为key访问字符串中的内容时,就可能会带来一些不一致的情况,如下面的代码1$hello = "hello";2...原创 2011-06-23 13:40:11 · 94 阅读 · 0 评论 -
使用PHP的SESSION直接保存对象需要注意隐含的序列化
昨天在调试代码时,在同一个sever上有两个版本的代码,刚开始在一个新版本做开发,由于需要调试旧版本的问题,因此访问旧版本代码时,发现无论访问什么都是空白页,php环境变量设置的display_errors=1,error_reporting=E_ALL,按道理不应该是空白页,最有可能的是入口程序的某一部分使用了@抑制了fatal error,刚开始以为是权限验证,后来发现似乎还没进入contro...2011-06-23 14:12:54 · 118 阅读 · 0 评论 -
phpDocumentor学习记录
1. 为什么要写注释文档?任何软件项目想要成功的关键之一是有好的文档,写出好的文档甚至要比写出好的代码更为重要。作为阅读代码时的第一印象,注释能够让开发人员深入你的代码。phpDocument就是为了跟容易生成文档而出现的,她甚至可以为想同的代码生成不同的文档集。2. 使用phpDocumentor生成两种不同的文档事实上,我们常常需要生成两种文档提供给不同的用户,例如...2011-03-11 16:37:15 · 99 阅读 · 0 评论 -
关于PHP错误:unexpected T_PAAMAYIM_NEKUDOTAYIM
PHP解析错误:Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM ,这个错误很少遇到,但是遇到了之后看到这个比较奇怪的字符:T_PAAMAYIM_NEKUDOTAYIM 就比较晕,其实这个标识的是双引号(::),因此含义就是不正确的使用了双引号,解决办法是查找是否在使用::的时候,左侧的表达式不是一个类名。...2011-10-08 16:23:56 · 638 阅读 · 0 评论 -
[转]高级PHP应用程序漏洞审核技术
原文地址:http://code.google.com/p/pasc2at/wiki/SimplifiedChinese 高级PHP应用程序漏洞审核技术高级PHP应用程序漏洞审核技术前言传统的代码审计技术PHP版本与应用代码审计其他的因素与应用代码审计扩展我们的字典变量本身的key变量覆盖...原创 2011-07-19 10:18:59 · 179 阅读 · 0 评论 -
php的autoload与global
loserwn同学最近在测试一个新的东东,发现在一个文件里调用的global变量不起作用: a.php:$g_v = 'aa';function g_test(){ var_dump($g_v);} b.php:include('a.php');class xxx{ public function run(){ ...2011-03-17 13:19:01 · 86 阅读 · 0 评论 -
[转]PHP的内存管理
原文出处:http://blogread.cn/it/article/4565?f=wbPHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要...原创 2015-05-11 22:03:27 · 118 阅读 · 0 评论