详解Apache、PHP和Mysql之间的关系

注意: 本文主要写给基础薄弱的同学, 如有不当之处,还请指正。

访问源站

原创不易,转载请注明

欢迎交流: 640765823 

学习方法

弄清楚Apache、PHP和MySQL之间的关系,对于初学者理解程序的运行过程,还是很有帮助的,学习一个新事物,要明白最基本的三个问题: 是什么、有什么、为什么。

是什么指的是新事物的宏观层面的功能描述,比如学习Apache,Apache是什么?就是一个能提供Http服务的Web服务器。有什么指的是微观层面的具体功能细节,Apache有什么?Apache有虚拟主机功能,有不同的工作模式(MPM模式),有日志功能,有压缩功能,还有各种功能模块等等。为什么指的是对学习的事物进行联系和重组,这一层是对事物本质的认识有了新的理解,Apache为什么?为什么需要使用Apache?什么场景下适合使用Apache?什么场景又不适合使用?能否使用其它Web服务器来替代它?Apache能调用PHP解释器工作,那能否和其它的脚本解释器一起工作?等等。

Apache、PHP和Mysql的基本理解

Apache是一个Web服务器: 基于Http/Https/Websocket等协议对外部提供数据、文件的获取功能

PHP是可编程的脚本语言: 提供基本的运算和逻辑处理的功能,可以很好的应用于Web网站功能需求的开发

MySQL是一种关系型数据库: 用于存储、修改、获取和管理数据的工具,可以通过结构化查询语言(SQL)进行数据库的管理

Apache和PHP之间的关系


Apache和PHP解释器之间的关系,是调用和被调用之间的关系,Apache主动调用PHP解释器去执行PHP脚本文件,PHP解释器被Apache调用。

Apache是web服务器软件,它可以接受来自客户端的Http/Https等协议的请求,当请求的文件是PHP脚本文件时,它会调用PHP解释器去解释和执行该脚本中的内容,并将解释器返回的结果,根据对应的协议规则封装成相应格式的数据,再将数据返回给请求的客户端。

PHP究竟是如何被Apache调用的,可以参看第四节的《详解PHP的运行模式Sapi》,或者下一节的《详解Apache的MPM及采用的PHP模式》

PHP和MySql之间的关系

PHP和Mysql之间的关系,也是调用和被调用的关系,PHP通过SQL语言调用Mysql进行数据库的管理功能,Mysql数据库总是被动的接受操作指令。

MYSQL是小型关系数据库软件,它为可以各种软件提供数据库支持,通过PHP可以操作Mysql,同理使用其它语言也可以操作Mysql,同样PHP也可以操作其他的数据库,不一定是MYSQL。

PHP如何调用Mysql数据库进行操作? PHP与Mysql交互使用的语言规则是SQL,但是PHP和Mysql是两个独立的应用程序,想要交互必须得先建立连接,就如同浏览器访问Web服务器一样,在请求数据发送之前也需要先成功建立tcp连接。PHP脚本与Mysql建立连接的过程都是由PHP的Mysqld/PDO等驱动来完成的,这些驱动的本质都是PHP的模块,即PHP解释器可以识别的相关函数集合,一般使用C语言编写,对PHP语言来说,屏蔽了具体连接建立和数据库协议操作的详细过程,对PHP语言暴露了一些基础的接口,即PHP可以调用到的一些数据库操作函数,如连接数据库、执行数据库SQL命令、断开连接等。

总而言之,PHP调用Mysql数据库的过程,通常是通过PHP的数据库驱动模块来操作的,它的本质也是一个网络数据的请求操作(遵循MySql通信协议来建立连接,使用SQL语法来执行具体操作指令)。

Apache、PHP和Mysql的运行环境

使用PHP程序就需要先搭建一个PHP的运行环境,PHP运行环境就是包含PHP+Apache+Mysql这三个软件的环境,还需要满足的条件就是,Apache可以调用PHP解释器来执行PHP脚本,PHP可以连接Mysql数据库来操作和管理存储的数据,当满足以上两个条件时,Apache、PHP和Mysql的运行环境就是一个完整的PHP运行环境了。
访问源站

原创不易,转载请注明

参考

详解php与mysql的关系

简述apache,php,mysql三者的关系

零基础学习PHP编程——详解Apache、PHP和Mysql之间的关系相关推荐

  1. Kotlin 视频课程系列一:《零基础学习 Kotlin 编程》

    Kotlin 系列课程一:<零基础学习 Kotlin 编程> 课程简介 在你决定要打开这个页面阅读的瞬间,风云巨变互联网行业里拼搏的你, 已经得到了一个引领时代 , 改变命运,突破瓶颈的机 ...

  2. 子网掩码必须是相邻的是什么意思_零基础IP子网划分详解

    零基础IP子网划分详解 2016.8.22修正,感谢道友刘先生的提醒 在学习IP子网划分前,首先的明白以下几个基础概念: 1.IP地址组成 IP地址组成示意图 IP地址由32位二进制组成,32位二进制 ...

  3. 小白零基础学习Java编程好学吗?

    Java作为一门基础性编程语言,伴随着IT行业的兴起.目前,学习Java的人变得越来越多,但是想要学好Java通过自学可没有那么容易,尤其是对于初学者而言.那么小白零基础学习Java编程好学吗? IT ...

  4. 零基础学习PHP编程——学习PHP编程从认识计算机开始

    零基础学习PHP编程--学习PHP编程从认识计算机开始 注意: 本文主要写给零基础的同学,作为编程入门引导, 如有不当之处,还请指正. 访问源站点 欢迎交流QQ群: 640765823 一. 什么是计 ...

  5. 零基础学习PHP编程——程序的编写和运行过程

    零基础学习PHP编程--程序的编写和运行过程 注意: 本文主要写给零基础的同学,作为编程的入门引导, 如有不当之处,还请指正. 访问源站 欢迎交流QQ群: 640765823 回顾上一节,我们已经基本 ...

  6. 零基础学习Java编程培训需要了解哪些知识

    作为最受欢迎的编程语言之一,Java是很多人转行的首选,对于零基础而言,在学习西安Java编程培训前要了解哪些语言特征和常识呢?下面,西安鸥鹏IT培训就为大家分享零基础学习西安Java编程培训必须了解 ...

  7. 零基础学习java编程,真的很难吗?手把手将你带入编程世界。

    零基础学习java真的很难吗?本人脑袋比较笨,从接触java到职业生涯已经小有4年了.怎么说呢,就是现在我依然能够保持着当年的那份不断学习的热情,是不是很不可思议.我告诉你,这是最基本最基础从事编程行 ...

  8. 零基础学习PHP编程——基本概念详解之域名解析与DNS缓存

    基本概念详解之一--域名解析与DNS缓存 注意: 本文主要介绍了域名解析流程即DNS缓存相关知识 [转载请注明] 欢迎交流QQ群: 640765823 一. DNS是什么? DNS(Domain Na ...

  9. U-Boot 之一 零基础编译 U-Boot 过程详解、Image 镜像介绍及使用说明、DTB 文件使用说明

      最近,工作重心要从裸机开发转移到嵌入式 Linux 系统开发,在之前的博文 Linux 之八 完整嵌入式 Linux 环境.(交叉)编译工具链.CPU 体系架构.嵌入式系统构建工具 中详细介绍了嵌 ...

最新文章

  1. mysql数据库导入到excel表格数据_[转载]将EXCEL表格中的数据导入mysql数据库表中(两种方法)...
  2. 作文 深海机器人_海底寻宝机器人
  3. Spring Boot:(四)开发Web应用之JSP篇
  4. hive:默认允许动态分区个数为100,超出抛出异常:
  5. oracle清空数据库命令行,使用命令行手动卸载Oracle Database 11gR2
  6. 《R语言机器学习:实用案例分析》——1.3节使用函数
  7. 2.maven 安装配置
  8. 如何搭建测试平台?理清思路很重要
  9. python3+telnetlib实现简单自动测试
  10. 区块链架构与应用(区块链入门篇)
  11. NO.128 开发团队篇:参加项目计划会议,分解任务,领取任务,每天更新任务。...
  12. Android中getDimension,getDimensionPixelOffset和getDimensionPixelSize 区别
  13. 【裴礼文数学分析】例1.1.1
  14. 基于python的图像处理的毕业论文_图像处理毕业论文 精品
  15. STP协议:生成树协议(二层防环机制:防止网桥网络中冗余链路形成环路工作)
  16. 基于51单片机的数字电流电压表
  17. 计算机工作记录,电脑上可以记录每日工作内容的办公便签是什么?
  18. [五一随想] 生活长乐
  19. 养什么最赚钱成本最低?盘点几个合适的项目!
  20. unity调用高德地图

热门文章

  1. 巧用“记事本” 让病毒白白运行
  2. imx6ull 正点原子设备树适配韦东山的开发板 (二)适配lcd,背光,和触摸屏
  3. 从网瘾少年逆袭拿到微软 、字节等offer(下)
  4. 侧边栏 SlidingMenu
  5. (C语言)实现主位优先的基数排序及基本原理(含测试用例)
  6. java abstract 变量_Java基础知识详解:abstract修饰符
  7. 5000个应用,每周1万次发布,携程的运维架构揭秘
  8. matlab centroid,Matlab中一个很有用的函数:regionprops
  9. 爬虫代理IP哪家好?
  10. 爬虫为什么会使用到HTTP代理?