PHP-----PHP程序设计基础教程----第一章PHP开篇

本章内容知识体系如下所示:                                                                                                                

一、PHP基础知识

1.1 Web技术

  服务器与客户端

  服务器:能够提供某种服务的电脑

  客户端:想使用服务器所提供服务的电脑

  服务器也是一台电脑,必须安装操作系统。否则就是一台裸机,啥也做不了,更不必说提供服务。一般来说,服务器更多选择Linux操作系统,个人电脑更多选择安装Windows操作系统。在服务器操作系统安装很多软件,由这些软件对外提供服务。

扫描二维码关注公众号,回复: 5127629 查看本文章

  服务器提供的服务诸如:①HTTP网页服务:Apache、Tomcat、IIS等;②文件上传下载服务:VsFtp等;③邮箱服务:SendMail等;④数据存储服务:MySql、Qracle等。

  小结:服务器就是提供服务的,客户端就是使用服务器提供的服务的。

  IP地址

  互联网上那么多公司,每家公司都有自己的服务器提供服务。如何找到特定的服务器,使用该服务器提供的服务?借助于IP地址。IP地址相当于每一个连入互联网的设备的身份证号,在浏览器地址栏按照IP地址信息进行访问就能找到互联网上这台服务器。

  IP地址分为4段,每段数字取值范围0~255,占1个字节(8位),总共4个字节。例如百度的某台服务器IP地址:123.125.114.114。

  本地测试的IP地址:127.0.0.1。在测试时,客户端与服务器都安装在本地计算机上,数据无需任何网络传输。

  局域网IP地址以192.168.开头。

  例如别人用自己的电脑想要访问我的主机,如果直接输入127.0.0.1进行访问,其实是访问自己的电脑,只能通过192.168.x.x访问,但是这种方式必须要求两台电脑在同一个局域网中。如果想要自己的电脑能够被中国各地其他用户访问到,必须将程序挂在外网上进行访问。

  域名

  IP可以准确查找互联网上连入的设备,但是IP地址是一串数字,不方便记忆。比如我们可以清除知道北京天安门,但是需要我们说出北京天安门的具体经纬度时候我们就不知道了。所以引入了域名的概念。域名就相当于地名一样,方便人们查找到服务器。例如百度的域名:www.baidu.com;QQ的域名:www.qq.com。

  本地域名:localhost

  DNS域名解析服务器

  当我们在浏览器地址栏中输入www.baidu.com的时候,浏览器并不知道输入的内容对应的是哪个IP地址,所以需要一个服务器对输入的字符串进行解析。这个服务器就是DNS域名解析服务器。

  DNS叫做域名解析服务器,提供域名和IP地址的映射关系。

  域名解析流程如下图:

  ①现在本机的hosts文件中查找;②本机hosts文件中没有,就会请求DNS服务器;③DNS服务器的IP地址返回,如113.121.121.2;④请求路由器查找113.121.121.1这样的服务器。

  本地hosts文件存放地址:C:\Windows\System32\drivers\etc\Hosts

  端口

  通过域名可以找到某一台服务器,但是一台服务器可能会提供多种服务,当我们找到这台服务器的时候,究竟想使用这台服务器的什么服务?这个就需要端口号进行区分。

  其实我们每次访问网页,最完整的写法应该是:http://www.baidu.com:80,因为80这个端口比较特殊,可以省略不写。

  如下是邮箱服务器设置:

  

  

  总结:ip地址是用来查找某一台服务器的。域名是方便人们记忆的。DNS维护域名和ip地址的映射关系。端口是用来区分一台服务器上不同服务的。

  HTTP协议

  客户端访问服务器,通过IP地址和端口找到了这台服务器,这个时候就认为两个计算机在交流。

  协议可以简单的认为两个计算机交流说的话。

  常见的协议:①HTTP、HTTPS超文本传输协议;②FTP文件传输协议;③SMTP简单邮件传输协议。

  

  URL地址

  在Internet上的Web服务器中,每一个网页文件都有一个访问标识符,用以唯一标识它的访问位置,以便浏览器可以访问到,这个访问标识符成为URL。

  示例: http://www.aixuexi.com:80/index.html 

  在上述的Url中,“http”表示传输数据所使用的协议,“www.aixuexi.com”表示要请求的服务器主机名,“80”表示要请求的端口号,“index.html”表示要请求的资源名称。

1.2 PHP概述

  PHP是用于网页服务器端编程的脚本语言。Web服务器是安装了Web服务器软件的计算机,存储网站脚本程序。

  用户请求对应脚本时,服务器执行对应的脚本并返回执行结果(服务器存在意义)。

  常见的开发环境:

  WAMP: Windows + Apache + MySQL + PHP 

  LAMP: Linux + Apache + MySQL + PHP 

  优点:①开源免费;②跨平台性;③面向对象;④支持多种数据库;⑤快捷性。

1.3 常用编辑工具

  ①Editplus    ②Notepad++    ③Zend Studio

二、PHP开发环境搭建

  在使用PHP语言开发程序之前,首先要在系统中搭建开发环境。通常情况下开发人员使用的都是Windows平台,在Windows平台搭建PHP开发环境需要安装Apache服务器和PHP软件。通常有两种方式:①自定义安装;②集成安装。

  2.1 Apache的安装

  自定义安装:

  安装包下载地址:https://www.apachelounge.com/download/

  下载64位安装包:

  下载完解压至想要安装的目录。博主在D盘下建立Development文件,将下载的Apache服务器软件解压至该文件夹下,后续所有介绍都以此为基础进行总结。注意解压路径是纯英文路径,中间最好不要有空格

  第一步:以管理员身份运行命令提示符,将目录切换到Apache服务器的解压文件夹下的bin目录下。

  

  第二步:使用 httpd -k install -n "Apache" 命令安装Apache服务器软件。-k参数指定要执行的命令,-n参数用以给服务器命名。   

       

  第三步:修改D:/Development/Apache24/conf/httpd.conf文件中第39行代码中ServerRoot值。

  修改前:

  

  修改后:

  

  第四步:使用 httpd -t 命令手动检验Apache的配置。

  

  第五步:将D:/Development/Apache24/conf/httpd.conf文件中所有的C:\Apache24变为D:/Development/Apache24。

  第六步:修改完成后,再次手动检验,页面效果如下,安装成功!

  

  集成安装

  采用集成开发环境安装的方式非常简单,但不够灵活,同时不利于学习,一般来讲不推荐使用。我们在这里做个简单介绍。

  集成环境安装包:phpStudy(可以在网上搜索下载,也可以进QQ群下载),这里就不粘贴下载地址了。

  

  直接点击上图的exe文件,当屏幕右下角出现phpStudy图表时,说明Apache服务已经开始运行。完成后页面如下所示:

  

  

  2.2 Apache的配置

  Apache的配置主要修改D:\Development\Apache24\conf目录下的httpd.conf文件的内容,具体配置包括如下几个方面:

  监听端口

  监听端口可以任意修改为一个未被其他程序监听的端口,可以通过设置配置文件httpd.conf文件中的Listen指令后面的数字来修改。在本示例中,博主将监听端口设置为默认的80端口。如下图 

  

  网站根目录的配置

  Web服务核心就是把我们电脑上的静态页面让外部服务器访问到。我们不是想让我们电脑上所有的文件夹都可以让别人访问,只有一个文件夹可以被别人访问,那个文件夹我们称为网站。

  网站根目录就是存放我们网站文件的最顶层目录,通常Url中域名后面第一个斜线对应的就是网站根目录。

  注:动态网站情况比较特殊,需要单独考虑。

  默认Apache的网站根目录是安装目录中的htdocs文件夹,在博主的开发环境中,对应D:\Development\Apache24\htdocs文件夹。为了方便对网站文件的管理,一般我们会将其设置在一个自定义目录中(如果你不介意其实不修改也无所谓)。

  通过修改配置文件httpd.conf中的网站根目录选项,设置默认网站根目录。博主在F盘建立一个名为www的文件夹,作为网站根目录。具体修改如下:

  第一步:在浏览器地址栏输入localhost,出现D:\Development\Apache24\htdocs下的index.html页面,此时我们还可以访问到。

  

  第二步:在配置文件中,修改网站根目录,将根目录设置为:F:\www

  

  此时重新访问http:localst,提示没有权限访问这台服务器

  

  第三步:解决上述访问权限问题

  ①Apache配置文件中权限访问代码1如下所示:

  

  在(1)中,Directory表示目录,“/”斜线通指我们电脑上所有的文件夹。上述四行代码就是为网站配置访问权限的。在(3)中,所有的访问请求都是被拒绝的。即指的是这个网站下的所有的文件夹都是不允许访问的。

  ②Apache配置文件中权限访问代码2如下所示:

  

  在(4)中,设置了网站根目录。第251行又出现了<Directory /></Directory>标签,通过阅读代码,可以发现,下面的Directory是给网站开了一个小门允许用户访问,所以将251行代码中的${SRVROOT}/htdocs修改为文件根目录,在F:\www文件夹下建立一个html页面,访问结果如下:

  

  

  

  默认文档配置

  当客户端访问的是一个目录而不是一个具体文件时,服务器默认返回这个目录下的某个文档(文件),这个文档就称为默认文档。

  

  配置文件的第284行DirectoryIndex,默认文档可以设置多个(由前到后依次去找,找到为止,如果没有找到任何一个,则启用目录浏览)

  目录浏览

  目录浏览指的是在浏览到一个文件夹的时候,如果文件夹中没有默认文档,就会把整个文件夹的结构显示出来。这种做法非常不可取,规避如下:

  

  虚拟主机配置

  如果一台机器上只有一个网站的话,没有任何问题,但是如果想要在一台机器上部署多个站点,就必须通过配置虚拟主机的方法解决。

  由于后期对虚拟主机的配置操作非常常见,所以我们一般将虚拟主机的配置单独放到一个配置文件中,然后在主配置文件中引入,避免破坏主配置文件的其他配置。

  第一步:在主配置文件httpd.conf中取消第509行对引入虚拟主机配置文件的代码注释

  

  第二步:找到Apache的虚拟主机配置文件D:\Development\Apache24\conf\extra\httpd-vhosts.conf,添加一个如下的虚拟主机配置节点。在该文件中,有两个默认的示例代码,可以注释掉。

  

  上图为虚拟主机的配置,如果要配置多个网站虚拟主机,可以复制上述代码,修改文件根目录、权限设置、域名、日志文件等。

  注意:

  ①修改hosts文件达到访问域名的目的,原因很简单,这个域名不是我们自己的,我们没办法修改这个域名在公网上的DNS。

  ②如果使用了虚拟主机,默认必须全部使用虚拟主机,即之前的默认网站必须通过虚拟主机方式配置,否则访问不到。

  ③如果虚拟主机的端口使用的不是80端口,需要在主配置文件中添加一对对这个端口的监听。

  必看:上述所有配置如果要起作用,必须重启Apache服务器。

  2.3 PHP的安装

  安装好Apache之后,开始安装PHP模块。它是开发和运行程序的核心。在Windows中PHP安装有两种方式:一种是使用CGI二进制文件;另一种是使用Apache模块DLL,其中第二种方式比较常见。

  安装文件:见QQ群或者去官网下载。

  第一步:将压缩包解压至指定目录,博主解压在D:\Development\PHP文件夹下。注意解压文件中必须包括php7apache2_4.dll文件,解压目录为纯英文目录

  第二步:在Apache中添加PHP模块

  

  第三步:在<IfModule mime_module>节点中添加.php扩展名解析支持

  

  第四步:默认文档配置节点<IfModule dir_module>中添加index.php文件

  

  重启Apache

  配置完毕,我在site2站点下写一个php文件,显示效果如图:

  

  

  

  

  

  

猜你喜欢

转载自www.cnblogs.com/WangYujie1994/p/10333018.html