自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xjc200808的专栏

做一名IT界的扫地僧

  • 博客(15)
  • 收藏
  • 关注

原创 Git使用

pull和fetchGit中从远程的分支获取最新的版本到本地有这样2个命令: git fetch:相当于是从远程获取最新版本到本地,不会自动mergegit fetch origin mastergit log -p master..origin/mastergit merge origin/master以上命令的含义:首先从远程的origin的master主分支下载最新的版本到origin

2015-12-25 18:35:00 377

原创 PHP拾遗-类

如果在 new 之后跟着的是一个包含有类名的字符串,则该类的一个实例被创建。如果该类属于一个名字空间,则必须使用其完整名称。 <?php$instance = new SimpleClass();// 也可以这样做:$className = 'Foo';$instance = new $className(); // Foo()?>当把一个对象已经创建的实例赋给一个新变量时,新变量会访问同一

2015-12-25 10:27:17 283

原创 PHP总结

简介PHP作为一种优秀的脚本语言,从简单的“hello word”到各种框架的开发、架构的设计、性能优化,以及PHP模块的开发,涉及较广知识结构和跨度。PHP通过不断淬炼,PHP内核中涉及从脚本的编译解析到执行以及和Web服务器等的配合,内存管理,语法实现等。SAPI执行PHP是一种基于C语言高级语言,作为一种解释型编程语言,能够好的进行跨平台开发。而C/C++在进行跨平台开发时需要重新编译、链接。

2015-12-23 16:09:37 378

原创 phpstorm安装

phpstorm是用JAVA开发的,所以在安装之前需要先安装jdk sudo apt-get install default-jdk或者 在网上下载java源码安装 去官网下载tar.gz格式的即可(ubuntu使用浏览器下载网速比较慢,所以推荐到window上下载好)。创建JDK存放路径。我的JDK存放在“/usr/jdk”,所以使用命令”sudo mkdir -p /usr/jdk”,你可

2015-12-21 14:15:49 1573

原创 php+nginx+mysql+ubuntu环境搭建

一、安装1.更新和安装 sudo apt-get update sudo apt-get install nginx2.安装结束后,启动nginx sudo /etc/init.d/nginx start3.配置php和mysql sudo apt-get install php5-cli php5-cgi mysql-server php5-mysqlCGI:“公共网关接口”(Com

2015-12-17 16:43:06 407

原创 MYSQL忘记root密码重置方法

1. vi /etc/my.cnf(我的在/etc/mysql/my.cnf中) #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables,已安全模式进入 31 [mysqld] 32 # 33 # * Basic Settings 34 # 35 user = mysql 36 pid-file = /var/run/my

2015-12-17 16:19:24 330

原创 PHP拾遗(类型)

语法凡是在一对开始和结束标记之外的内容都会被 PHP 解析器忽略.整数Example #2 八进制数的怪事<?phpvar_dump(01090); // 八进制 010 = 十进制 8?>决不要将未知的分数强制转换为 integer,这样有时会导致不可预料的结果。<?phpecho (int) ( (0.1+0.7) * 10 ); // 显示 7!?>浮点数要测试浮点数是否相等,要使

2015-12-17 16:11:15 350

原创 php内核探索笔记-内存的申请与释放

内存申请 PHP底层对内存的管理, 围绕着小块内存列表(free_buckets)、 大块内存列表(large_free_buckets)和 剩余内存列表(rest_buckets)三个列表来分层进行的。 ZendMM向系统进行的内存申请,并不是有需要时向系统即时申请, 而是由ZendMM的最底层(heap层)先向系统申请一大块的内存,通过对上面三种列表的填充, 建立一个类似于内存池的管理机制。这

2015-12-16 19:01:57 672

原创 PHP内核探索笔记-函数

函数定义:函数的定义是一个将函数名注册到函数列表的过程 1. 词法分析: function将会生成T_FUNCTION标记 2. 语法分析: 3. 生成中间代码: 生成的中间代码为 ZEND_DECLARE_FUNCTION ,根据这个中间代码及操作数对应的op_type。 我们可以找到中间代码的执行函数为 ZEND_DECLARE_FUNCTION_SPEC_HANDLER

2015-12-15 18:31:36 319

原创 变量赋值、销毁与作用域

变量赋值、销毁与作用域标签(空格分隔): 未分类获取左右值在PHP内没有对于变量的声明操作,在赋值的时候同时完成声明。 例:$a = 10; 通过VLD查看其生成中间代码为ASSIGN.执行函数为ZEND_ASSIGN_SPEC_CV_CONST.在这个函数中获取左值和右值的代码为:val *value = &opline->op2.u.constant;zval **variable_ptr

2015-12-15 13:09:31 644

原创 php内核探索-常量

在PHP中常量的结构只是在变量的基础上添加了一些额外的元素:typedef struct _zend_constant { zval value; /* zval结构,PHP内部变量的存储结构,在前面有说明 */ int flags; /* 常量的标记如 CONST_PERSISTENT | CONST_CS */ char *name; /* 常量

2015-12-14 18:25:27 298

原创 PHP内核探索笔记-变量

php变量组成部分:变量名:php语言的变量名以$开头+英文/下划线,可以包含数字、下划线、字母,区分大小写。同时PHP也支持复合变量,形如$$A,增加了php的动态性。类型:php属于弱类型语言,可以赋值任意类型的值。内容:在同一时刻只能有一种值。php语言中存在8中数据类型,分为三大类: 1. 标量类型:Boolean,integer,float,string; 2. 复合类型:

2015-12-14 15:40:06 327

原创 php内核探索笔记-解释器的执行过程

以CLI SAPI为例来对php执行核心部分进行解析。CLI是php命令行模式,此SAPI是默认安装的,在服务器端安装过PHP后,生成以一个可执行文件,可以在shell中调用PHP命令来执行。PHP -f XX.php执行流程:解析命令行参数; 初始化环境; 编译执行PHP代码; 清理环境,退出;在第3个阶段中,如何执行PHP脚本的: 通过调用php_execute_script( ha

2015-12-14 10:49:16 344

原创 php内核探索=opcode

在前面php内核探索笔记-初窥,了解到php代码执行需要进行编译->执行。在编译阶段首先进行词法分析,然后再进行语法分析,才生成用于Zend 引擎执行的opcode。究竟opcode是什么东西呢?opcode是计算机执行指令的一部分,用于指定要执行的操作,也被称作字节码。opcode不需要显示的操作数,操作数可以是堆栈、寄存器、某块内存或I/O端口中的值。PHP构建与Zend虚拟机之上,p

2015-12-12 16:51:28 460

原创 php内核探索笔记-初窥

一、概括编程语言分为两类:编译型,解释型。编译型语言主要包括,C/C++、C#等。编译型语言有一个专门的编译过程,通过编译器编译成机器语言,只需要一次编译过程,每次执行不需要重新编译。解释型语言主要包括,PHP,PYTHON等。编译型语言在执行前并不需要编译过程,可以直接执行,每次执行需要解释器将代码解释成机器语言(也即编译)。为了执行效率,并不是所有的语言每次执行都需要编译,例如:P

2015-12-11 16:36:03 426

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除