发表时间:2015-05-27来源:网络
好久没有写关于PHP的东西了,这次我们讲一下PHP内核相关的知识。
按照管理,在开始讲解之前我们先准备一下环境:
环境准备:
1. Linux环境,我们使用ubuntu/debian 这两个系统都可以
2. PHP源代码,我们讲解的代码为php-5.4.13.tar.gz,代码大家可以到php官网上面进行下载
3. webserver使用nginx,数据库为mysql
其中必须准备php源代码,nginx和mysql可以选择性安装
PHP源代码下载完成后,我们将源代码解压,先看一下源代码的目录结构:
build: 这里面主要是一些和源码编译相关的文件
ext: PHP扩展源码路径
main:
Zend: zend引擎实现目录
pear: php扩展以及应用仓库
sapi: 各种服务器抽象层代码,如apache,nginx等
TSRM: 线程安全资源管理器
test: 测试代码
源码查看的话,我们使用vim+ctags,如果您不明白这个是什么的话,麻烦自己百度一下。
知识准备:
PHP源码中用到很多的宏定义,在开始之前,我们先温习一下宏相关的知识。
1. 双##号 这个是C语言中的连接符,我们来看一个例子你就明白了。
#define TEST(name) hello_##name
我们看一下调用:TEST(world)的结果为: hello_world
你看明白了吗!
2. 我们再来看一下但个的#号,这个符号的作用是在宏变量替换后的值前面后面添加双引号,我们看一个例子
#define TEST(str) #str
我们看一下调用: printf(TEST(HELLO WORLD));的结果为 printf("HELLO WORLD");
3. #line 这个指令用来改变当前的行号和文件名
4. 还有一些常用的宏,这些宏我们会在以后用到时候进行介绍
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
华为智能光伏官方版(FusionSolar)下载v25.3.101.001 安卓版
130.65MB |商务办公
PETKIT小佩宠物官方软件下载v13.1.1 安卓版
300.76MB |系统工具
分包管家app下载v3.7.3 安卓版
58.74MB |商务办公
tplink物联监控摄像头app下载v5.10.5.1681 安卓版
94.39M |社交娱乐
tplink无线摄像头软件(改名tplink物联)下载v5.11.21.1795 安卓手机客户端
94.93MB |系统工具
多屏互动软件下载v10.1.2471 安卓最新版本
108.16MB |系统工具
朴朴森山官方版下载v1.3.3 安卓版
26.43MB |商务办公
aik钥匙工具app下载v2.7.0 安卓版
82.46M |系统工具
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05