PHP源代码目录结构简介(原创) 余超  yuchao86@gmail.com 基于PHP-5.3.8源代码给大家分享一下PHP的内核结构,以便更好的理解PHP脚本的执行过程和写出高效率的脚本。 目录结构如下: 1. build 和编译有关的目录,里面包括wk,awk和sh脚本用于编译处理,其中m4文件是linux下编译程序自动生成的文件,可以使用buildconf命令操作具体的配置文件。 2. ext 扩展库代码,例如 Mysql,gd,zlib,xml,iconv 等我们熟悉的扩展库,ext_skel是linux下扩展生成脚本,windows下使用ext_skel_win32.php脚本生成, 每个扩展目录下包括php_扩展名.c文件和phpt批处理测试脚本。 3. main 主目录,包括php.h,main.c,logos.h数组等等,是php程序的主要部分,定义了程序的SAPI接口全局变量等等。 4. netware 网络目录,以前的版本没有此目录,里面就两个文件sendmail_nw.h和start.c,分别定义SOCK通信说需要的头文件和具体实现。 5. pear 扩展包目录,PHP Extension and Application Repository的简写,install-pear.txt文件中详细说明了怎么样安装具体的扩展包,自己去看吧。 6. sapi 和各种服务器的接口调用,例如apache、IIS等,也包含一般的fastcgi、cgi等,如果你看过apache的源代码的话,这个目录一目了然的清楚了,比如apache_hooks和apache2handler等等。 7. scripts Linux 下的脚本目录。 8. tests 测试脚本目录,主要是phpt脚本,由--TEST--,--POST--,--FILE--和--EXPECT--三个部分组成。有些需要初始化的可以加--INI--部分。 9. TSRM 线程安全资源管理器,Thread Safe Resource Manager的缩写,研究过PHP的源码,你就会看到这个东西到处都在,保证在单线程和多线程模型下的线程安全和代码一致性。 10. win32目录,Windows 下编译 PHP 有关的脚本,用了 WSH。 11. Zend 文件夹核心的引擎,包括PHP的生命周期,内存管理,变量定义和赋值以及函数宏定义等等。 如果你有更好的看法,请回邮件讨论,谢谢 参考:http://www.php.net

php源码目录在哪,PHP源代码目录结构简介(原创)相关推荐

  1. ubuntu 安装mysql 源码,命令ubuntu上用源代码安装mysql的详细操作说明

    文档说明 上次写了一篇linu x下架设完美私服的文章提到了我想用mysq l架设的想法.这次的安装说明就是为其做准备的.希望大家多多的支持如果有疑问请大家联系我我将想办法为大家解决.我的空间 ...

  2. Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录

    Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录 安装需求 准备工作 Python及其依赖项 libffi glibc GDBM mpdecimal bz2 xz re ...

  3. php 框架获取服务器,Thinkphp 框架基础之源码获取、环境要求与目录结构分析

    本文实例讲述了Thinkphp 框架基础之源码获取.环境要求与目录结构.分享给大家供大家参考,具体如下: 获取ThinkPHP 获取ThinkPHP的方式很多,官方网站(http://thinkphp ...

  4. 【SemiDrive源码分析】【Yocto源码分析】02 - yocto/meta-openembedded目录源码分析

    [SemiDrive源码分析][Yocto源码分析]02 - yocto/meta-openembedded目录源码分析 一.meta-openembedded 目录 本 SemiDrive源码分析 ...

  5. cpu224 stm32源码,西门子224/226PLC源码/stm32源码,西门子 plc运行源代码

    cpu224 stm32源码,西门子224/226PLC源码/stm32源码,西门子 plc运行源代码

  6. 最新西门子224/226PLC源码/V8.9西门子PLC源码 C v8.9运行源代码,本人已修改好剩余的bug

    最新西门子224/226PLC源码/V8.9西门子PLC源码 C v8.9运行源代码,本人已修改好剩余的bug /* 20190723A 通过宏定义,快速切换224XP/226 (50586) 201 ...

  7. DSP程序定制 F28335 F2812 简易变频器svpwm源码 简易变频器C语言源代码工程文件,直接用ccs3.3以上软件打开

    DSP程序定制 F28335 F2812 简易变频器svpwm源码 简易变频器C语言源代码工程文件,直接用ccs3.3以上软件打开. 包括SVPWM核心代码,有运行频率设置.载波频率(2.5K~20K ...

  8. 基于Qt5.14.2和mingw的Qt源码学习(三) — 元对象系统简介及moc工具是如何保存类属性和方法的

    基于Qt5.14.2和mingw的Qt源码学习(三) - 元对象系统简介及moc工具是如何保存类属性和方法的 一.什么是元对象系统 1.元对象系统目的 2.实现元对象系统的关键 3.元对象系统的其他一 ...

  9. 再读 ucosII源码(邵贝贝):内核结构

    本章给出μC/OS-Ⅱ的主要结构概貌: - μC/OS-Ⅱ是怎样处理临界段代码的; - 什么是任务,怎样把用户的任务交给μC/OS-Ⅱ; - 任务是怎样调度的; - 应用程序CPU的利用率是多少,μC ...

最新文章

  1. Ubuntu 修改mysql的存储目录
  2. LwIP 之四 超时处理/定时器(timeouts.c/h)
  3. 用HttpListener做web服务器,简单解析post方式过来的参数、上传的文件
  4. matlab二项式拟合,数据回归分析和拟合的Matlab实现
  5. 【Flink】Flink 任务实时监控
  6. 帧起始定界符_检测帧起始定界符的方法、装置、设备及计算机存储介质与流程...
  7. linux c 笔记 线程控制(一)
  8. 与原子操作相关的 volatile 和 sig_atmotic_t
  9. javaweb课程设计班级管理系统
  10. 2023年天津天狮学院专升本市场营销专业《管理学》考试大纲
  11. 【OpenCV】Flutter 上采用ffi 与 c++ 的opencv交互使用总结
  12. 每日必读DZone News—Java中的随机数生成
  13. 国内各银行间异地汇款手续费对照表
  14. “机智歌王”--沙鸥,大陆的的张帝
  15. Vue3技术4之watch监视属性、watch时value问题
  16. springboot仓储系统出入库模块设计系统java ssm
  17. php卡片式,50+创意卡片式网站欣赏
  18. flex布局强制换行(flex-wrap:wrap)之后,去掉最下面一层多余的间隙。
  19. canvas塔防小游戏-保卫大司马
  20. php和web前端工作描述,web前端岗位自我评价怎么写

热门文章

  1. c++ -- 析构函数
  2. 使用国外DynDNS免费动态域名解析 随时访问家中电脑
  3. 什么是水利工程?水利工程包含哪些内容?
  4. ASP.NET发送邮件(同步、异步)
  5. 范围变更管控案例_项目管理案例讨论“如何有效开展项目变更管理”
  6. tkinter.ttk — Tk themed widgets
  7. 如何把一幅照片 PS 成动漫风格
  8. 适合中小企业的桌面云平台 — DoraCloud 快速部署指导
  9. 【日语口语词典学习】第0001页
  10. 安卓开源项目周报0405