我无法理解apache/php/mysql堆栈在低级别上的工作原理(包括与浏览器的交互).是否有一个良好的描述某处(一本书,网站等),将走在我穿过整个路径并解释如何使用浏览器开始reqesting一个网址,http请求被发送,如何阿帕奇会谈到PHP,如何PHP会谈mysql(持久性和非持久性连接)等等.我想了解等待这个链中的内容,处理超时的时间,打开和关闭套接字的时间.一本书,一篇文章可能吗?每个组件都有很多文档,但我找不到"演练".
到目前为止我的解释是非常高级的:看,这是一头快乐的牛,它去了牛大学,看起来 - 它全部收缩在超市货架上.我需要的是香肠农场/屠宰场/卡车/工厂之旅,从奶牛不育开始:)
[更新]直到今天,我还没有找到更好的方法来了解这些东西,而不是阅读来源.
PHP和MySQL的例子有一个非常基本的过程图片,我想你可能已经理解了.
比这张图片更深入,但这是一个相当长的讨论.具有讽刺意味的是,您可以阅读我刚刚链接的书,以获得非常好的描述.如果您有更具体的问题,我建议为他们提出新的问题.请享用!
据我了解,apache 收到请求,并根据您的 .htaccess 或配置选项确定如何处理它。然后,如果需要,它会将此请求传递给 PHP 进行解析。PHP 对代码进行两次扫描,第一次是预解析,这会在解析页面之前发现明显的缺陷并在顶层运行函数(忽略任何 if 语句、循环、包含、评估或基于 lamda 的函数)真正的。我相信,使用 echo 完成的任何操作都会作为标准输出流返回,并返回到 apache。如果 apache 超时,它会向 PHP 发送终止信号,PHP 会关闭对象,并在退出之前根据需要打印错误消息。一旦页面退出,apache 就会倾向于标头并返回页面。
不过,我很想了解更多有关此问题的信息,因此,如果有人可以更好地解释它或对我的答案进行更正/扩展,我很乐意听到。
归档时间: |
|
查看次数: |
2662 次 |
最近记录: |