shangban 发表于 2018-11-20 08:55:57

apache+php的基础概念



PHP执行PHP脚本代码一般会经过如下4个步骤:
  1、Scanning(Lexing) —— 将PHP代码转换为语言片段(Tokens)
  2、Parsing —— 将Tokens转换成简单而有意义的表达式
  3、Compilation —— 将表达式编译成opocdes
  4、Execution —— 顺次执行Opcodes,每次一条,从而实现PHP脚本的功能
  (opcode类似一种二进制格式,php先将源代码编译成opcode,然后再执行)
  

  Apache+php的模式:
1、CGI:
  在服务器响应用户的php页面请求时,apache将源代码递给zend Engine(php的解释器),zend Engine将执行结果以html的格式返回给apache,apache与zend Engine之间使用cgi协议,此时一个用户请求服务端需使用两个进程
  2、module
  在Apache中加入php_mod模块,apache同时处理静态内容和动态内容,一个请求只需一个进程
  3、FAST CGI
  另外添加一台php服务器,该服务器预先创建若干个空进程,提高响应速度

  php加速器:
服务器默认将opcode存放于相应请求的进程内存空间中,这样每个请求都要编译一次php,php加速器则是将opcode缓存于php的共享缓存中,使同一段代码只需编译一次,后续可直接执行,提高性能。


  
  嵌入式web开发语言:仅将php部分内容交给zend engine执行

index.php

   






页: [1]
查看完整版本: apache+php的基础概念