apache / php / mysql交互式浏览“如何制作香肠”
我无法理解apache / php / mysql堆栈如何在低级别上工作(包括与浏览器的交互)。 是否有一个很好的描述(书,网站等),将走过我的整个path,并解释如何开始浏览器reqesting一个url,HTTP请求正在发送,如何Apache与PHP会谈,如何PHP谈话mysql(持久性和非持久性连接)等等,我想了解什么在这个链中,什么时候处理超时,插口打开和closures多久。 一本书,一篇文章可能? 每个组件都有很多文档,但是我找不到“演练”。
到目前为止,我所做的解释是非常高层次的:看,这里是一头幸福的牛,去了牛津大学,看 – 这些都是收缩在超市货架上的。 我需要的是香肠农场/屠宰场/卡车/工厂参观,从母牛侮辱开始:)
[更新]直到今天,我还没有find一个更好的方式来了解这些东西,而不是阅读来源。
PHP和MySQL的例子有一个非常基本的过程,我认为你可能已经明白了。
虽然比这个图片更深入,但还是一个相当长的讨论。 具有讽刺意味的是,你可以阅读我刚刚链接的一本相当不错的书。 如果您有更具体的问题,我build议为他们开新的问题。 请享用!
我find了一个网站,至less有部分内容来自George Schlossnagle的“ 高级PHP编程 ”一书。
该网站位于: http : //php.find-info.ru/php/016/toc.html 。 具体而言, PHP Request生命周期中的部分包含许多细节,包括一些源代码和图表。
免责声明: IANAL,但考虑到这本书仍然在亚马逊上市 ,其可能的上面链接的内容打破了各种规范,规则和/或法律。 我不打算扩散或纵容非法或盗版资料,所以如果是这种情况,请删除上述链接。
你是正确的,有这么一本书写在这里如何适应这个问题,这是一个“演练”,它涉及的主要部分的链接。
http://computer.howstuffworks.com/web-server.htm
希望能帮助到你
最好的方法是获得一本关于LAMP堆栈的好书。
一个快速的反应(如果你觉得你需要更多的请求)通过HTTP协议浏览器联系web服务器服务器生成(让我们暂时如何)一个html结果并将其发回。 每个浏览器只能理解http协议(为了这个分析)。
现在,诸如图标,图像,JavaScript等项目只是从Apache服务器读取并“复制”到浏览器。 同样在纯html文件。 不同的是在PHP文件(我简单的在这里)。 这些被传递给php模块,并且(模块的)响应将被发送回浏览器。
PHP模块是什么理解的PHP。 我们在一起吗? 如果是的话:PHP脚本可能(或可能不)需要来自MySQL服务器的数据,它必须连接获取或操纵它们等。
总结:这些操作中的每一个都是在不同的过程级别单独完成的。 这就是“简单”的原因。 如果您想要更具体的东西,请索取更多信息。
据我了解,Apache收到请求,并根据您的.htaccess或configuration选项了解如何处理它。 然后,如果需要,它将这个请求传递给PHPparsing。 PHP对代码进行了两次扫描,第一次是预parsing,这样在分析页面之前,会在顶层(忽略if语句,循环,包含,evals或基于lamda的函数)中发现明显的缺陷并运行函数真的。 任何与echo完成的工作,我相信,作为标准输出stream返回,并返回到Apache。 如果apache把页面放到页面外面,它会发送kill信号给PHP,closures对象,在退出之前打印错误信息(如果需要的话)。 一旦页面退出apache往往头和返回页面。
我想知道更多关于这个,所以如果有人能更好地解释它,或者对我的回答有一个更正/扩展,我很乐意听到它。