本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一、PHP简介
(一)什么是PHP
P定义:一种服务器端的HTML脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。是一种广泛用于Open Source <开放源代码>的尤其适合Web 开发并可以嵌入HTML的多用途脚本语言。它的语法接近c,Java和 Perl,而且容易学习。该语言让Web 开发人员快速的书写动态生成的网页。
PE前身:Fersonal HonePage,个人主页,使用Perl语言开发的一种写个人主页的语言
PHE:PH Hypertext Preprosessor,php超文本预处理器,底层使用c语言。
(二)PHP发展史
- Rasmus Lexdoxf:创建者
- 1994:1.0,个人pexl,非常简单
- 1996:2.0,c底层,变的相对比较强大
- 1998:3.0,zendEngine,联合zend公司共同管理和维护PHP,zendEngine ( zend,引擎)用户高效的解析php代码
- 2000:4.0, session+输出缓冲等,session技术(会话技术)
- 2004:5.0,zend,引擎2代,增加新技术(面向对象更新,命名空间,异常)
- 2015:7.0,新版的ZendEngine,引擎,性能提升,新特性(异常)
平台支持(window,Linux,UNIX)
数据库支持(Salservex,mxsal,0racle,Access)
二、静态网站和动态网站的区别
静态网站:web1.0时代
动态网站:web2.0时代
网站:Website 的中文名称是网站,是指在互联网上,根据一定的规则,使用HTML、PHP等代码语言制作的用于展示特定内容的相关网页的集合,有可供管理人员操作的后台及用户使用的前台。简单地说,Website是一种通讯工具,就像布告栏一样,人们可以通过Website来发布自己想要公开的资讯,或者利用Website来提供相关的网络服务。人们可以通过网页浏览器来访问Website,获取自己需要的资讯或者享受网络服务。
(一)静态网站的特点
1、网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件
2、静态网页的内容相对稳定,因此容易被搜索引擎检索
3、静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难
4、静态网页的交互性较差,在功能方面有较大的限制。
(二)动态网站的特点
1、交互性:网页会根据用户的要求和选择而动态地改变和响应,浏览器作为客户端,成为一个动态交流的桥梁,动态网页的交互性也是今后Web发展的潮流
2、自动更新:即无须手动更新HTML文档,便会自动生成新页面,可以大大节省工作量
3、因时因人而变:即当不同时间、不同用户访问同一网址时会出现不同页面
此外动态网页是与静态网页相对应的,也就是说,网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见形式,而是以.asp、.jis、.php、.perl、.cgi等形式为后缀。在动态网页网址中有一个标志性的符号——“?”
三、网站的基本概念
(一)服务器概念
服务器(server),也称为伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
服务器的构成包括处理器、硬盘、内存、系统总线等,和通用计算机架构类似,但是由于需要提供可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。
服务器:能够提供服务的机器,是否能够提供服务取决于机器上所安装的软件(服务软件)。
Web服务器:提供Web服务(网站访问),就需要安装Web服务软件,Apache,tomcat,iis等。
(二)IP的概念
IP:Internet Protocol,网络之间互联协议。网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP地址具有唯一性。(每台电脑都有一个唯一的IP地址)
(三)域名
域名(Domain Name),是由一串用点分隔的名字组成(www.itcast.cn)的Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名是一个IP地址上有“面具”。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP 等)。域名作为力所能及难忘的互联网参与者的名称。
特殊IP:127.0.0.1 代表本机
特殊域名:localhost
(四)DNS
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
用户输入域名localhost——》DNS(localhost 127.0.0.1)——》服务器电脑
(五)端口
端口(Port),可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。
微信、QQ这些软件使用网络时互不干扰就是通过使用不同的端口实现的。端口就是在一台电脑上区分不同软件的。
用户输入域名localhost:端口——》DNS(localhost 127.0.0.1)——》服务器电脑——》软件(服务)
四、Web程序的访问流程
Web分为两类:静态网站和动态网站
浏览器发起访问——》DNS解析域名——》服务器电脑——》通过端口找到服务软件
(一)静态网站的访问
静态网站访问原理图
由于index.html文件是一样的,所以不管是谁访问,得到的内容都是相同的。
(二)动态网站访问
动态网站访问流程与静态相似,但是会多出几个内容:服务器解析、数据库
动态网站访问原理图
五、安装Apache及目录简介
见文档《环境搭建》
六、安装PHP及目录简介
见文档《环境搭建》
七、安装MySQL及目录简介
见文档《环境搭建》
八、虚拟主机
一台服务器很贵,如果只能部署一个网站,那么非常浪费。所以需要通过其他渠道来实现一台主机上部署多个网站。
(一)什么是虚拟主机
虚拟主机:Virtual machine,并不存在真实的主机,但是可以提供真实主机所实现的功能。
通俗的讲:虚拟主机,就是将计算机中不同的文件夹进行不同的命名,然后可以实现让服务器(Apache)根据用户的需求从不同的文件夹(网站)中读取不同的内容。
(二)虚拟主机的分类
在Apache中,可以将虚拟主机划分成两类:
1、基于IP的虚拟主机:一台电脑上有多个IP,每个IP对应一个网站
原理:电脑默认只有一个IP,因为通常只配有一个网卡;但是有的电脑(服务器居多)可以配置多个网卡,每个网卡可以绑定一个IP地址。
2、基于域名的虚拟主机:一台电脑上只有一个IP,但是IP下可以制作多个网站,但是需要给每个网站不同的名字(虚拟主机名)。
(三)搭建基于域名的虚拟主机
见文档《环境搭建》