简单理解:服务器也是一台计算机,只是比平时用到的计算机在性能上更强大,开发中通常都需要将开发好的项目部署到服务器进行访问,例如:我们可以访问百度、淘宝、京东等,都是因为有服务器的存在,再例如:王者荣耀登录的时候需要选择不同的服务器【不同的区】,每个区都对应一个服务器
如果把服务器关了,那对应的应用就不可用了
常见的服务器
服务器名称 | 描述 |
---|---|
文件服务器 | 以文件数据的存储与共享为主要功能的服务器 |
数据库服务器 | 存储数据,对数据进行管理,例如:MySQL数据库、Oracle、SQLserver |
网页服务器 | 用于存放网站的服务器(web服务器),java中使用的Tomcat服务器,php使用的apache服务器 |
FTP服务器 | 文件传输服务器,通常指局域网访问,例如:同一个机房中的电脑可以互相访问,只需要下载一个ftpserver开启服务即可 |
上述为常见的几种服务器,其它的服务器可以自行扩展
本章节的课程和PHP相关,因此需要用到Apache服务器
常见的web服务器
服务器名称 | 描述 |
---|---|
Apache | Apache是世界使用排名的Web服务器软件。它几乎可以运行在所有的计算机平台上。由于Apache是开源免费的,因此有很多人参与到新功能的开发设计,不断对其进行完善。 Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用 |
iis | IIS(Internet信息服务)英文Internet Information Server的缩写。它是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活 |
nginx | Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力 |
tomcat | Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器 |
Lighttpd | 基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境 |
Zeus | 是一个运行于Unix下的非常的Web 服务器,据说性能超过Apache,是效率的Web 服务器之一 |
Apache官网下载地址
第一步:找到windows版本的下载地址
第二步:找到apachehaus
第三步:找到windows64位下载地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uc2SUqmK-1693193510512)(./assets/apache下载03.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RkQ21OKf-1693193510513)(./assets/apache目录结构.png)]
目录名 | 作用 |
---|---|
bin | 所有的执行文件存放目录 |
conf | apache的配置文件目录 |
htdocs | 项目部署的目录 |
modules | 扩展加载的组件(类似电脑扩展外接的键盘) |
找到bin目录,双击httpd.exe启动Apache服务,启动后出现一个窗口
**注意:**打开后的窗口表示Apache服务器正在使用中,关掉窗口后就无法再访问Apache的服务了
在Apache的目录中找到conf下的httpd.conf文件,其中指定了serverName
如果ServerName的前面有#,那就把#去掉,保存,保存后一定要重启Apache服务
打开浏览器,在地址栏中输入localhost【127.0.0.1】回车即可,80是默认端口号,可以不写
127.0.0.1是本地的IP地址,localhost是其域名,可以理解为:localhost是名字,127.0.0.1是人
该页面就是在apache的htdocs目录中的index.html,是默认访问的,因此也可以输入localhost/index.html
HTML也是一款超文本编辑语言用于实现静态网页的,PHP是在服务器端执行的脚本语言,用于实现动态网页的【动态的修改网页中的数据】
我们在进行PHP开发的时候,需要将开发好的文件部署到apache服务器中,因此就需要在本地配置PHP的环境变量,同时需要让Apache识别到我们的PHP语言。
预热【作为备忘使用的】
所有的文件都有一个后缀名,.txt代表文本,.php代表php的文件,.java代表java文件,.doc代表world文件
不同的电脑文件的后缀名可能被隐藏了,所以建议先将文件的后缀名显示出来
window10的查找方式
window7系统需要找到控制面板–>文件夹选项
我们可以先演示下,不配置环境的情况下在Apache的部署目录下创建php文件,网页是无法解析的:
在该文件中写上php的代码,简答的输出一个hello world
echo "hello world"
?>
然后启动Apache,在地址栏中输入localhost/hello.php
接下来,下载及配置php环境
打开浏览器搜索php
打开后在官方网站中可以找到最新的php版本下载
进去之后可以找到提供的下载地址,注意要选择Thread safe下的zip下载
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fpzlqQyS-1693193510523)(./assets/php目录结构.png)]
php.ini-production:对应生产环境【项目已经开发好了,该文件是上线后需要用到的配置文件】
php.ini-development:对应开发环境【项目正在开发中,在开发过程中需要用到的配置文件】
例如:生产一款化妆品,dev就代表还在测试阶段,pro代表正式开始售卖
例如:dev代表孩子还没生下来时需要做的准备,pro代表孩子生完之后需要做的准备
步骤一:找到php.ini-development文件,复制一份,改名为php.ini
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fkXFVl57-1693193510523)(./assets/php.ini.png)]
打开php.ini文件,找到extension_dir【大致在768行附近】
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pJpxmgoR-1693193510524)(./assets/extension.png)]
修改值为当前php安装目录下的ext文件夹的路径【注意:需要先将前面的分号去掉,分号代表注释】
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tPak7PHt-1693193510524)(./assets/extension_dir.png)]
步骤二:配置apache,让apache可以识别到php的环境
找到apache安装目录下的conf目录下的httpd.conf
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WyFzPDjw-1693193510525)(./assets/apache-conf.png)]
按要求添加以下配置即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z1Lw1yee-1693193510525)(./assets/conf配置.png)]
#指定php与apache的插件
LoadModule php_module "F:\phpServer\php8.0.10\php8apache2_4.dll"
#指定php所在的根目录
PHPIniDir "F:\phpServer\php8.0.10"
#指定以.php结尾的文件交由php引擎进行解析
AddType application/x-httpd-php .php
修改完保存后,重启apache服务
打开浏览器,输入localhost/hello.php
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1gzzjH24-1693193510526)(./assets/hello测试.png)]
到此,php的环境配置就完成了
每一门语言都有自己的语法规范,开发时需要遵循该规范来开发,否则编译有可能通不过【例如:工厂的流水线做完一款产品后需要让质检部门检验通过后才算合格,编译不通过就相当于质检不合格】。
每一款语言都有对应的开发工具,PHP最常用的开发工具是phpstrom,本章节使用hbuilder或dreamweaver工具来进行开发
hbuilder下载地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TKm6srMa-1693193510526)(./assets/download-hbuilder.png)]
点击下载windows版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uiz1fDuJ-1693193510527)(./assets/hbuilder-win.png)]
下载好后解压文件,找到hbuilderx.exe双击运行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wqQCR4Jm-1693193510528)(./assets/hbuilder运行.png)]
每一个文件最终通过什么方式运行,基于该文件的后缀的形式来决定的,例如:.txt是文本 .doc是world .png是图片,开发语言中的后缀,例如:.java是java文件 .html是网页文件 .php就是php文件
在apache的htdocs中创建一个.php文件,test.php
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HNEkjtB4-1693193510528)(./assets/创建.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jYc2oyjc-1693193510529)(./assets/文件创建.png)]
php的语法结构组成
示例:在刚创建的test.php文件中输出一个 大家好,我是你们可爱的朱老师
echo "大家好,我是你们可爱的朱老师"; ?>
echo是一种输出的语法
之后再浏览器中输入localhost/test.php
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nc0WKItk-1693193510530)(./assets/入门测试.png)]
注释:给写的代码进行解释说明,可以供自己或其他人快速了解当前代码的作用,该注释在页面中是不会显示的。
语法 | 作用 |
---|---|
// | 单行注释,适合简短且只有一行文字时的注释方式 |
/**/ | 段落注释,适合有多行文字时的注释方式 |
单行注释
//单行注释:这行代码可以在网页中输入下面写的内容
echo "大家好,我是你们可爱的朱老师";
多行注释
/*
多行注释适用于描述的内容较多时,这是第一行
这是第二行,可以有很多行注释
*/
echo "大家好,我是你们可爱的朱老师";
数据类型:代码中会存在多种形式的内容,比如:数字、中英文、符号等,php语言问了能够让服务器区分每一个代表的含义,因此给每一种类型都给了一个名称作为标识,称为数据类型
数据类型 | 描述 |
---|---|
整数类型 | 例如:1、2、3、-1、-2、0等 |
浮点类型 | 例如:1.1、2.2、3.6等【其实就是小数】 |
字符串 | 例如:所有用" "包裹内容都能成为字符串 |
布尔类型 | 例如:true / false |
上述描述的数据类型在开发时是不要写的,作为了解区分
php是一门弱语言,在定义变量的时候就不需要指定数据类型,程序会自动推断
$a = 1;
$b = 2;
$c = 1;
a 、 a、 a、b、$c是一个自定义的变量名,用来代替后面的值,可以多次使用
接下来可以进行一个简单的运算1+2+1
$sum = 1+2+1;
$a = 1;
$b = 2;
$c = 1;
$sum = $a+$b+$c;
//输出运算后的结果
echo "计算后的结果 = $sum";
刷新网页后即可看到运算后的结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cMaN49Yd-1693193510530)(./assets/简单的加法运算.png)]
定义一个字符串
$sum = 1+2+1;
$a = 1;
$b = 2;
$c = 1;
$sum = $a+$b+$c;
//输出运算后的结果
echo "计算后的结果 = $sum";
//定义一个字符串
$name = "朱老师";
echo "
你们的老师是$name";
其中的br标签是前端中的标签代表换行,浏览器可以直接解析
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BlhGB6HL-1693193510531)(./assets/字符串结果.png)]
果 = $sum";
//定义一个字符串
n a m e = " 朱老师 " ; e c h o " < b r / > 你们的老师是 name = "朱老师"; echo "
你们的老师是 name="朱老师";echo"<br/>你们的老师是name";
其中的br标签是前端中的标签代表换行,浏览器可以直接解析
[外链图片转存中...(img-BlhGB6HL-1693193510531)]