php程序运行过程

可不可以详细讲解一下php程序运行的整个过程?语法分析,生成机器语言...... 可不可以详细讲解一下php程序运行的整个过程?语法分析,生成机器语言... 展开
 我来答
潘达lya
推荐于2016-01-14 · TA获得超过1476个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:447万
展开全部
PHP就是个脚本语言,或者叫宏语言,必须得到解释器来解读。。。。php脚本后缀需要是php,当客户发送HTTP请求获得一个php文件时,服务器不会像其他文件一样,将文件传过去,而是去解读这个文件,他只解读php标签内中的内容,这需要一个解释器去解释这个脚本,解释器需要用真正的编程语言去做,比如C语言,服务器解读之后就会去执行php要求的行为,它不会进行编译,所以不存在生成机器码的环节,这是宏语言和真正的编程语言最大的区别,脚本只是另一个程序的操作对象,而不是程序代码本身。。。。
服务器解读了<?php ?>之后就会执行相应的动作,php里在<?php ?>之外的内容会原封不动,<?php ?>中的echo内容会输出到要发送的文本中(这些文本是要给客户的的,echo中内容一定要符合html语法),所有事情都做完了,就会把这些东西发送给客户,这是已经html文本了,浏览器能够读懂html,如果有rsc属性的标签,浏览器还需要再去服务器下载提到的资源,如果这个资源不是php那么按正常文件下载,没有PHP参与,如果还是php,这还要执行php代码,所有东西都准备好了,就能合成一个网页,如果缺少某资源,比如一张图片,如果没有缺省的图片代替,就会是个x 。。。。,这就是一个完整的php网页请求。。。
当然客户提交可能是post方法或get方法,会把url提交(这个是所有请求必须的),以及post中的变量附带在请求头后面提交,如果有cookie,客户还要把所有未过期的cookie提交了,这些都会存在在http请求中,发送给php文件时,需要生成超级全局变量,供php用,变量名就是那些$_GET之类的。。
追问
那么,php不是也要经过词法分析,语法分析吗?举个例子:
,整个流程是怎么进行的,从读这段程序到输出结果。谢谢
匿名用户
2013-04-25
展开全部
词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。具体内容参看《编译原理》这部分工作由PHP完成(php程序执行器)
浏览器、apache、PHP、php程序、mysql 五者关系
浏览器发请求
apache接收、解析请求,告诉PHP待执行的php文件路径 以及触发PHP

PHP 执行指定的php文件
php程序 可以看作mysql 的客户端 负责连接mysql、编写sql语句
mysql 数据库服务器 负责接受php程序传过来的sql语句 执行并发回结果
php程序执行完后返回结果给PHP
PHP 返回结果给apache
apache返回结果(html)给浏览器
浏览器解析执行html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式