php的工作原理

本文详细介绍了PHP的Zend引擎如何解析PHP源程序的过程。从词法分析开始,遇到不认识的词将报parse_error;语法分析阶段,若发现语法错误则报syntaxerror,但仍继续执行并生成opcode;最后,zend引擎在内存中执行opcode,输出结果到程序缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php有一种专门解释php的引擎称之为zend引擎

对于源程序,php引擎全部读入,而后进行词法分析,如果遇到不认识的词,就报parse_error (词法错误后终止分析)

词法分析后进入语法分析;语法分析按照一定的结构例如分号,进行语法组织,分析语法有无错误,如果出错,报syntax error,但会继续执行,生成一个叫opcode,然后zend引擎执行opcode

后续执行opcode时,会在内存的程序缓存开辟一块空间,然后按顺序执行代码,如果有输出就把结果输出到程序缓存,输出顺序和程序执行顺序一致;

当脚本执行结束,会把程序缓存中的输出结果全部给Apache,但内存空间毕竟是有限的,所以一旦空间告罄,会不等脚本执行完毕就输出结果!

如果执行顺利,没遇到任何词法或语法错误,其执行流程如下

 

转载于:https://www.cnblogs.com/saintdingspage/p/9909594.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值