- 博客(171)
- 资源 (7)
- 收藏
- 关注
原创 PHPer都应该关注的服务端性能问题–听云Server试用笔记
很早就在用国外的NewRelic(http://www.newrelic.com/)的APM产品来监测自己网站的PHP应用性能了。无奈国外的服务从国内访问起来实在是太慢了,虽然New Relic已经上市了,但是这访问慢的问题却是一直没见好转,反而越来越严重。可能是GFW时不时抽风所致,有时候还得翻墙才能访问New Relic的报表。虽说翻墙是码农们必备的技能,但是为了看个报表查个故障都要翻墙的话实
2015-02-06 10:23:01
8813
3
原创 【书评】《循序渐进DB2:DBA系统管理、运维与应用案例》
前几天,收到优快云的邮件,可以免费申请一本书来试读,自己选了 《循序渐进DB2》第二版,由于最近公司事太多,把书评这事给忘了,今天收到优快云 妹妹的电话提醒,才想起来把这事忘了,优快云的MM,很抱歉哦。我用DB2用的少,主要是想来学习一关于DB2运维 及 容灾方面的知识,如 数据库备份、恢复、监控等。书很厚,没有太多时间看,也只看了其中一小部分主要细读的章程如下:1、DB2的基本介绍2、数据
2013-09-04 00:18:39
6980
原创 YAR 并行RPC框架研究
前几天,部门召开了PHP技术峰会 学习会议,大家分别对这次会议的PPT 做了简单的介绍,其中提到了 鸟哥【惠新辰】的一篇PPT《微博LAMP 演变》,如果谁有需要可以去谷歌搜,或者去http://www.laruence.com/2013/08/15/2913.html 他的博客去看一下,我就不提供下载链接了。这篇PPT中提到了几个点: Yaf,Yac,Yar;我们会后也分任务对这些去做一些了解
2013-09-03 18:02:55
17149
原创 PHP的json_encode分析
json的优点就不说了,有个习惯,我在输出json的时候,喜欢用 sprintf 拼成json格式,前两天被朋友说不标准,必须要用json_encode生成的才是标准的json格式,我当然很郁闷啦,用了这么多年了,刚知道 这样做不标准,既然说我不标准,那上面才是标准的json格式?1234{a : 'abc'}{'a' : 'abc'}{a : "abc"}{"a" : "abc"}那都知道,只有
2013-04-25 23:06:13
9452
原创 PHP命令执行PHP脚本,结束之前,内存会回收吗?
在往下看之前,如果你不明白什么是GC (Garbage Collection) 的话,那一定要先去了解GC,不然你根本不知道我在说什么!Links:http://www.php.net/manual/en/features.gc.phphttp://blog.youkuaiyun.com/phpkernel/article/details/5734743============================
2013-04-25 23:03:22
8644
原创 PHP语法分析器:RE2C && BISON 总结
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/647在这之前,我曾经尝试过一个项目,就是将我们的PHP代码自动生成so扩展,编译到PHP中,我叫它 phptoc。但是由于各种原因,暂停了此项目。写这篇文章一是因为这方面资料太少,二是把自己的收获总结下来,以便以后参考,如果能明白PHP语
2012-10-18 15:10:25
9201
原创 websocket 连接 C Server的尝试
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/629websocket:WebSocket 规范的目标是在浏览器中实现和服务器端双向通信.双向通信可以拓展浏览器上的应用类型.它是基于 TCP链接的 全双工通讯,但与普通的TCP又不同,它提供的是消息流,而不是字节流。基于 HTTP 长连
2012-07-13 13:53:37
14612
原创 如何在扩展里调用PHP函数呢?
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/606在写扩展的时候,肯定不能什么功能都自己实现,原因有很多,开发效率、性能问题、维护成本等。这就避免不了要在扩展里调用PHP内核函数。那么如何在扩展里面使用我们的内置函数呢?PHP既然有函数,肯定提供了调用函数的接口,这里有两个函数:ZE
2012-06-19 22:25:20
10670
原创 PHP内核函数研究之error_log
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/617PHP有一个很强大的日志处理函数:error_log,我们可以用它来记录我们程序中出现的错误,比如SQL错误等。通过 PHP手册,我们可以知道,该函数可以向服务器、文件或远程目标发送一个错误日志。它接受四个参数:error 必需。要记
2012-06-19 21:35:39
8110
原创 原:PHP内核函数研究之 global
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/601好久没有写博客了…最近事挺多,换了工作,又搬了家..今天就来说说 我们经常用到的global语句吧..我们都知道,在函数体内声明的变量,作用域只是当前函数体中,一般情况下是访问不到外部声明的变量的.因为全局变量和局部变量存放在不同的h
2012-05-29 21:58:37
6111
原创 自己写PHP扩展之实现类的继承
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/593如果我们想继承某一个类,我们怎么办?比如 Siren类继承Secure类.class Secure{ public function test(){ echo "this is Secure::test"
2012-05-05 20:23:21
8287
原创 自己写PHP扩展之操作类的属性和方法
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/581类创建好了..那么类肯定不止这些东西,它由继承,属性,返回值等.1.方法的参数.有方法,该方法就可能要有参数.参数是如何传递过来的呢?如果看过之前的文章.那么你肯定就知道了..是的 与普通函数的参数相同.声明char类型的指针用来保存
2012-04-26 21:46:29
9873
原创 自己写PHP扩展之创建一个类
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/572上一章用扩展创建了一个变量..这次来个大的..我们创建一个类.然后在php里面去调用这个类.生成扩展及修改 不知道的请点击这里 http://imsiren.com/archives/568这里就不谈了.比如我们要创建一个类..P
2012-04-25 21:48:45
11580
原创 自己写PHP扩展之创建一个普通变量
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/568PHP写扩展..如果您还么有读 原:用C/C++扩展PHP建议您先看一下 这篇文章..今天来个简单的..我们用扩展方式创建一个变量 $siren.然后在PHP文件里面输出这个变量.1. 执行源码目录中的 ext_skel –extn
2012-04-19 22:41:43
6846
1
原创 原:用C/C++扩展PHP
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/547一个简单的扩展模块PHP非常容易扩展,因为它提供了我们想用的所有API.如果要新建一个扩展,需要在PHP源码中执行ext_skel位置 PHP源码目录/ext/ext_skel它有几个参数–extname=module module
2012-04-16 22:56:20
8329
原创 jquery源码分析之扩展函数 extend, $.extend
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/525好久没写jquery源码的内容了..jquery的发展有很大因素是因为它非常易于扩展,究其原因就得益于 extend函数该函数是一个扩展函数…说是一个扩展函数,其实就是一个浅拷贝和深拷贝的函数而已.
2012-04-14 21:49:10
8530
原创 原:PHP的执行流程,PHP扩展加载过程
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/535为了以后能够明白的开发PHP扩展..就一定要了解PHP的执行顺序..这篇文章就是为C开发PHP扩展做铺垫.web环境 我们假设为 apache.在编译PHP的时候,为了能够让Apache支持PHP,我们会生成一个m
2012-04-14 21:47:43
8447
原创 PHP内核函数研究之 intval
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/520趁热打铁 顺便说说 intval函数.该函数好像我们用的最多的就是在POST或者GET某个参数的时候,将其强制转换为int型,为了保证我们传入到SQL的时候是一个整形.,当然这只是其中一种用法..该函数接受两个
2012-04-08 21:55:10
6877
原创 原:PHP数组函数研究:is_null,is_object,is_array,is_string,is_resource等
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。欢迎转载,转载请注明出处 。本文地址:http://imsiren.com/archives/516前面有一篇文章 讲的是 PHP内核源码分析:isset与 empty但是好像忘记了一系列is函数如is_null,is_object,is_array,is_string,is_resour
2012-04-08 21:52:40
9174
原创 PHP内核研究之类的成员属性和方法
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客 在优快云也会同步更新的哦.欢迎转载,转载请注明出处上一章讲到类的实现这一篇要详细讲讲PHP类的成员属性及方法.上一篇中曾经介绍到zend_do_begin_class_declaration这个函数,它用来创建并初始化一个zend_class_entry类的所有信息都保
2012-03-10 21:51:26
3825
原创 原创:PHP内核研究之类的实现
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客 在优快云也会同步更新的哦.欢迎转载,转载请注明出处 这几天比较忙哦..没有时间写..周末了多写几篇吧.目前大部分语言都支持类.类是什么?类就是面向对象,简称OOP.英文名字 Object Oriented Programming.面向对象是什么?是一种编程架构.OOP的一条基本
2012-03-10 19:48:24
2608
原创 原:PHP内核研究 函数的返回值
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客 在优快云也会同步更新的哦.欢迎转载,转载请注明出处 上一节讲到 函数的参数下面继续分析函数的返回值..从根本来说,PHP的每个函数或方法都存在返回值,可能有的时候不写return,这个时候 会返回NULL.[php]function test(){ re
2012-03-10 19:45:27
1702
原创 原:PHP内核研究 函数的参数
在上一节中,分析了函数的定义,函数的定义只是将函数名注册到函数列表的过程.下面继续分析函数的参数.如果没有看就移步到>>原:PHP内核研究 函数的定义,,function $test($arg=11){}还是要看Lex的语法分析[c]unticked_function_declaration_statement: fun
2012-03-10 19:44:55
1485
原创 原:PHP内核研究 函数的定义
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客 在优快云也会同步更新的哦.欢迎转载,转载请注明出处 PHP中,函数的定义 是用关键字 function来定义的.function hello($str){echo $str;}在/zend/zend_language_parse.y中找到 关键字 T_FUN
2012-03-10 19:43:54
1240
原创 原创:PHP内核研究:数组的创建
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客 在优快云也会同步更新的哦.欢迎转载,转载请注明出处 PHP之所以发现这么迅速,有很大原因是因为数组数据非常好处理,而且它可以存储其他类型的数据数组的值存储在zvalue_value.ht字段中,ht是一个HashTable的数据有关于HashTable的知识请移步 >>
2012-03-10 19:43:22
1575
原创 原:PHP内核源码分析:isset与 empty
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客 在优快云也会同步更新的哦.欢迎转载,转载请注明出处 PHP内核函数里面有提供了两个函数用来检测 变量isset和empty这两个有什么区别?我们用PHP代码来检测一下[php]//第一种var_dump(empty($a)); //true 为空var
2012-03-10 19:42:38
3581
原创 PHP内置函数分析之strlen 与 mb_strlen
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客 在优快云也会同步更新的哦.欢迎转载,转载请注明出处 在PHP里 有两个计算 字符串个数的函数一个是 strlen,一个是mb_strlen;先来看看帮助手册的定义strlenstrlen — 获取字符串长度int strlen ( string
2012-03-10 19:42:07
3207
原创 原创:PHP内核研究 静态变量
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客 在优快云也会同步更新的哦.欢迎转载,转载请注明出处 静态变量它可以是 静态全局变量,如果不调用unset,那么这个静态变量会一直存在,直到程序退出时才由Zend内存管理来释放它可以是 静态局部变量:在函数里定义,函数执行完后,该静态变量不会消失它可以是
2012-03-10 19:40:41
1038
原创 原创:PHP内核研究 常量
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客 在优快云也会同步更新的哦.欢迎转载,转载请注明出处 常量什么是常量.常量就是不变的量.先看看常量的结构[c]typedef struct _zend_constant { zval value;//zval类型 int f
2012-03-10 19:39:56
3315
原创 原创:PHP内核研究:HASH表和变量
PHP HASH表在PHP中,所有的数据 无论变量,常量,类,属性 都用Hash表来实现.先要说说 HASH表[c]typedef struct bucket { ulong h; /* Used for numeric indexing */ uint n
2012-03-10 19:39:14
1368
原创 PHP内核研究: PHP源码目录分析
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。博客地址:PHP技术博客 在优快云也会同步更新的哦.欢迎转载,转载请注明出处SIREN_SETTING 我的PHP版本:PHP5.3源码我的系统环境 FreeBSD我的编辑器 VIM+CTAGS开始吧.php5.3源码包的目录其实还是很清晰的比较重
2012-03-10 19:21:15
1465
原创 JS画板
收藏http://www.ajaxbbs.net/test/wz_jsgraphics/index.htm确实很强大 下来研究研究JS/* This notice must be untouched at all times.wz_jsgraphics
2011-10-09 17:22:38
2681
转载 以HTMLEditor为例讲解在线编辑器的基本实现原理
如今网上多数的编辑器都有很强大的功能,相对而言,在使用中也需要很多的配置,当然代码也自然会比较“臃肿”。如果我们并不需要功能那么强大的编辑器,那么可以自己实现一个,因为代码并不复杂。下面是一点个人的经验,仅供参考(以ExtJS的HTMLEditor为例)。 1、初始
2011-09-28 15:58:34
2558
原创 /usr/local/php-5.2.14/sbin/php-fpm start Starting php_fpm –fpm-config
1.将fpm打包放到php源代码中gzip -cd php-5.2.8-fpm-0.5.10.diff.gz | patch -d php-5.2.8 -p12.编译安装php 记得带上–enable-cgi –enable-fpm 两个参数哦。遇
2011-09-06 17:43:09
5695
原创 用 C or C++ 开发PHP扩展模块
如果要用C++ 来开发,只需要extern "C" {}将其C的头文件和库定义包含起来就可以,C++可以直接使用C的库,----------------------------------------------------得到一份PHP源码,我这里用的是 php
2011-09-05 13:50:15
2657
原创 PHP正则表达式 /i, /is, /s, /isU等参数含义详解
<br /><br />PHP正则表达式模式后面通常带有 /i, /is, /s, /isU等参数,那么这都是些什么东西呢?下面我们一起来看看:<br />i 匹配大小写<br />s 模式中的圆点元字符(.)匹配所有的字符,包括换行符<br />x 模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两 头,也都被忽略<br />A (PCRE_ANCHORED) 如果设定了此修正符,模式被强制为“anchored”,即强制仅从目标字
2011-04-22 15:04:00
1518
原创 php+mysql无限级分类(非递归)
<br /><br />要实现无限级分类,递归一般是第一个也是最容易想到的,但是递归一般被认为占用资源的方法,所以很多系统是不考虑使用递归的<br />本文还是通过数据库的设计,用一句sql语句实现<br />数据库字段大概如下:<br />-----------------------------------------------------------------------------------<br />id 编号<br />fid 父分类编号<br />class_name 分类名<br />
2011-04-22 15:02:00
1265
原创 用PHP计算相对路径
<br /><br />假如现在有两个路径:<br />$a = "/a/b/c/d/test.php";<br />$b = "/a/b/e/f/other.php";<br />请用PHP设计一个函数,计算出$b相对于$a的路径。<br />大致算法就是: 根据‘/’把路径拆分放进数组,然后从第一个开始比较,相同的忽略掉,直到遇到不同的为止。<br /><?php<br />$a = "/a/b/c/d/test.php";<br />$b = "/a/b/e/f/other.php";<br />/
2011-04-22 15:01:00
1277
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人