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 <html> <head></head> <?php php?> </html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。