【华安php入门系列】--第1天-php的执行方式、执行过程
一、php有两种执行方法:
1、web服务器调用php执行。常见的有2种组合方式:apache将php安装成apache的一个模块就可以;ngnix与php的组合是通过Fastcgi来完成的。在这里了解是这么回事就好,以后会深入探讨的。
2、当成脚本的形式通过php.exe独立运行,即通过php.exe -f filename [参数] [参数] 就可以运行指定的php文件。这样的好处是比如可以通过使用 php程序+OS的定时任务 来进行数据库的备份、数据信息的统计等操作,就不用php程序员在懂shell脚本等语言去操作了,降低了php程序员的操作难度。
二、php脚本的执行过程:
1、任何程序都是需要读取到内存中执行的,php文件只是存储php源码的一个载体,真正的执行是首先读取php文件内的代码---》将代码加载到内存----》执行处理。
所有高级语言的语法,都只是给程序员的一个操作接口。最终的执行都是需要被处理成计算机可以直接使用的机器语言才可以执行的。
2、将php源代码编译成机器码的过程:
a、我们先来弄明白什么是编译语言,什么是解释语言,php是属于哪种语言?
解释型:简单的讲就是每次执行都需要源代码的语言。(PHP、TCL、shell)
编译型:会将编译结果保存起来,一次编译、多次执行。(比如:c、c++、Java)
所以很明显PHP是属于解释型语言,以后接触到的PHP代码缓存|PHP加速应用--核心都是通过保存php的编译结果文件来进行加速的。
b、解释型语言的执行过程:
I、读入源代码;
II、词法检查(分拆一个一个的单独的词)
III、语法检查(检查词是否正确、词与词直接的组合是否正确)
IV、生成可以执行的代码。(不是机器码,是叫做生成php虚拟机可以执行语言)php虚拟机叫做Xend engine zend引擎。可以在php的虚拟机zend引擎中运行的代码,称之为opcode。