1. 云栖社区>
  2. PHP教程>
  3. 正文

php基础篇--wy

作者:用户 来源:互联网 时间:2017-12-01 20:58:27

php基础wy

php基础篇--wy - 摘要: 本文讲的是php基础篇--wy, php的执行: 1.浏览器的请求-》apache服务器------sapi》php处理结果-》返回给apache-》浏览器 2.phpPHP总共有三个模块:内核、Zend引擎、以及扩展层; --PHP内核用来处理请求、文件流、错误处理等相

php的执行:

1.浏览器的请求-》apache服务器------sapi》php处理结果-》返回给apache-》浏览器

2.phpPHP总共有三个模块:内核、Zend引擎、以及扩展层;

--PHP内核用来处理请求、文件流、错误处理等相关操作;

--Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;

--扩展层是一组函数、类库和流 PHP使用它们来执行一些特定的操作。比如我们需要mysql扩展来连接MySQL数据库;

--当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交给扩展,等处理完特定任务后再返还;

--最后,ZE将程序运行结果返回给PHP内核,它再将结果传送给SAPI层,最终输出到浏览器上。

3.深入探讨

--PHP启动第一步

  启动Apache后,PHP解释程序也随之启动;

PHP调用各个扩展的MINIT方法,从而使这些扩展切换到可用状态。看看php.ini文件里打开了哪些扩展吧;

  • MINIT的意思是“模块初始化”。各个模块都定义了一组函数、类库等用以处理其他请求。

--PHP启动第二步

  • 当一个页面请求发生时,SAPI层将控制权交给PHP层。于是PHP设置了用于回复本次请求所需的环境变量。同时,它还建立一个变量表,用来存放执行过程中产生的变量名和值。
  • PHP调用各个模块的RINIT方法,即“请求初始化”。一个经典的例子是Session模块的RINIT,如果在php.ini中启用了Session模块,那在调用该模块的RINIT时就会初始化$_SESSION变量,并将相关内容读入;
  • RINIT方法可以看作是一个准备过程,在程序执行之间就会自动启动。

--PHP关闭第一步
  如同PHP启动一样,PHP的关闭也分两步:

  • 一旦页面执行完毕(无论是执行到了文件末尾还是用exit或die函数中止),PHP就会启动清理程序。它会按顺序调用各个模块的RSHUTDOWN方法。
  • RSHUTDOWN用以清除程序运行时产生的符号表,也就是对每个变量调用unset函数。

  
--PHP关闭第二步
  最后,所有的请求都已处理完毕,SAPI也准备关闭了,PHP开始执行第二步:

  • PHP调用每个扩展的MSHUTDOWN方法,这是各个模块最后一次释放内存的机会。
      这样,整个PHP生命周期就结束了。要注意的是,只有在服务器没有请求的情况下才会执行“启动第一步”和“关闭第二步”。

4.php基本数据类型

              整形,浮点型,布尔,字符串,数组,对象,null,资源

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 基础 wy ,以便于您获取更多的相关知识。