typora-copy-images-to: images
1.1 今日指标
- 把握互联网的工作原理
- 把握域名、DNS和IP地址之间的关系
- 了解hosts文件在互联网拜访过程中的作用
- 了解动态网站和动静网站的区别
- 了解动静网站的服务器组成
- 理解PHP的工作过程
- 把握PHP变量的应用形式
- 了解可变变量的概念
- 把握可变变量的拜访模式
- 了解变量的值传递和援用传递的区别
1.2 PHP简介
1.2.1 概述
PHP是Hypertext Preprocessor的缩写,(超文本预处理器)是一种在服务器端运行的开源的脚本语言。
LAMP组合(Linux,Apache,MySQL,PHP),这四个产品都是公开源代码的产品
php是一门语言,用来做业务逻辑 apache为PHP提供了运行环境 linux为Apache的运行提供了平台 mysql数据库用来存储数据
多学一招:什么是wamp组合
windows+apche+mysql+php
1.2.2 五个基本概念
1、动态页面和动静页面
动态页面:服务器不执行的页面 动静页面:服务器执行的页面
问题:动静网站中是否能够寄存动态页面
答:能够
2、客户端和服务器端
浏览者这段是客户端 服务器端:给浏览者提供服务
3、端口和端口号 端口号的范畴: 0-65535
4、BS架构和CS架构
BS:通过浏览器去拜访服务器
b:browser(浏览器) s:sever(服务器) 长处: 1、只有有浏览器就能够拜访 2、开发低 毛病: 2、开发的代码都放在服务器上 胖服务器-瘦客户端
所有的web都是BS架构的
CS:通过客户端软件去拜访服务器
c:client(客户端) s:server(服务器) 长处: 1、能够开发客户端和服务器端,这时候就能够实现负载的平衡 毛病: 1、必须要装置一个软件能力去拜访 2、开发成本高
例如:QQ、炒股软件
5、前台和后盾
前台:浏览器看到的界面 后盾:管理员看到的界面
1.2.3 PHP的长处
- 跨平台,既能在windows上运行,也能在linux上运行
- 源码凋谢:不会波及到版权问题
- 语法简略:PHP入门简略
- 运行在服务器端,只有在服务器部署环境就能够了。
1.3 Web介绍
1.3.1 web时代的变迁
从互联网开始崛起到当初,经验了从web1.0、2.0到web3.0的过程
Web1.0(信息共享)的次要特点在于用户单纯的获取信息 Web2.0(信息共建)更重视用户的交互作用,用户既是网站内容的浏览者,也是网站内容的制造者。 Web3.0(信息传承)通过第三方信息平台对多家网站的信息进行整合,用户在互联网上领有本人的数据,并能在不同网站上应用
举例:
Web1.0:来到一个餐馆,老板给你上了一盘番茄炒蛋; Web2.0:来到一个餐馆,你跟老板被动点了一份番茄炒蛋; Web3.0:来到一个餐馆,老板见到你就问,老规矩,还要番茄炒蛋?
1.3.2 Web服务原理
动态网站原理(浏览器-服务器)
动静网站原理(浏览器-服务器-数据库)
智能网站原理(浏览器-服务器【剖析举荐】-数据库)
1.4 搭建Web服务器
1.4.1 装置phpstudy
间接解压即可
1.4.2 目录构造
启动服务
1.4.3 拜访服务器
在www目录下创立demo.php页面
<code class="php"><?php phpinfo();
拜访服务器
拜访规定:http://服务器ip地址/php页面 比方: http://localhost/demo.php http://127.0.0.1/demo.php
1.4.4 罕用的命令
补充DOS命令
切换盘符 盘符+冒号 进入目录 cd 目录地址
Apache的命令
httpd -v 查看apache版本号 version httpd -t 检测运行环境 test
PHP的命令
php -v PHP版本号
1.4.5 互联网通信原理
实质一台电脑拜访另外一台电脑资源、寻址过程(IP地址、端口、域名、DNS)
在互联网上,IP地址是用来辨别每台计算机的标识,然而IP记忆不敌对,咱们将IP地址取一个名字,一个IP对应一个名字,这个名字就称为域名。
拜访过程:
步骤:
1、客户端输出域名(网址),在最近的机房做DNS解析(Domain Name Server),DNS解析就是将域名转化成IP地址
2、通过IP地址拜访服务器
1.4.6 DNS解析
指标:ip地址拜访服务器不不便,通过域名来拜访。
hosts文件
测试
小结:
hosts文件用来做DNS解析
1.5 服务器配置
1.5.1 虚拟目录配置
1、更改虚拟目录
要更改虚拟目录的地位,须要到apache的配置文件中更改(conf/httpd.conf)
在phpstudy中,httpd.conf和vhost.conf都有配置虚拟目录的指令,并且两个配置文件中都有配置虚拟目录的指令,为了测试,咱们正文掉vhost.conf的引入
更改虚拟目录
揭示:我的项目上线当前,不能够显示目录构造
权限的练习
例题一:
Order allow,deny Allow from all # 容许所有申请拜访
例题二:
Order allow,deny Allow from all Deny from all # 回绝所有申请拜访
练习三:
Order allow,deny Deny from all Allow from all # 回绝所有申请拜访
练习四:
<Directory "C:/PHP/Apache/htdocs"> Order deny, allow Allow from 192.168.101.50 Deny from 192.168 </Directory> # 回绝192.168结尾,但除去(192.168.101.50)的IP的拜访
练习五:
<Directory "C:/PHP/Apache/htdocs"> Order deny, allow Allow from 192.168.101.50 Deny from all </Directory> # 只容许192.168.101.50拜访
练习六:
<Directory "C:/PHP/Apache/htdocs"> Order allow,deny Allow from 192.168 Deny from 192.168.101.50 </Directory> # 只容许192.168结尾的,但要去除192.168.101.50 的IP拜访
2、更改默认首页
在httpd.conf配置文件中
默认首页的查找程序,从前往后。
3、更改监听端口
在httpd.conf配置文件中设置
通过Listen指令设置监听的端口
能够设置多个监听端口
拜访:
补充:查看端口的占用状况
在命令行下应用 netstat -ano查看
在后果中查找字符串
1.5.3 虚拟主机配置
需要:
输出www.baidu.com 关上web1的网站 输出www.sina.com关上web2的网站
配置过程:
要配置虚拟主机,须要在httpd.conf中引入虚拟主机的培训文件(vhosts.conf)
vhosts.conf配置如下
<VirtualHost _default_:80> DocumentRoot "C:\web1" #指定虚拟目录门路 ServerName www.baidu.com # 虚拟目录绑定的域名 DirectoryIndex aa.php # 默认首页 <Directory "C:\web1"> Options -Indexes -FollowSymLinks +ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> </VirtualHost> <VirtualHost _default_:80> DocumentRoot "C:\web2" ServerName www.sina.com DirectoryIndex bb.php <Directory "C:\web2"> Options -Indexes -FollowSymLinks +ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> </VirtualHost>
在host文件中做dns解析
拜访后果
补充:站点、虚拟目录、虚拟主机的区别
站点:站点就是一个文件夹,用来保留与网站无关的所有素材
虚拟目录:站点+权限
虚拟主机:虚拟目录+域名
1.6 PHP语法入门
1.6.1 PHP是编译型语言
编译语言和解释语言的区别在于是否保留最终的可执行程序。
PHP执行过程
1.6.2 PHP定界符
因为PHP是脚本语言,所以须要定界符
1、规范格调(举荐应用)
<?php ?>
例题
<code class="php"><?php echo 'i am a boy!'; ?>
揭示,如果整个页面都是PHP代码,PHP结束符是能够省略的(举荐)
<code class="php"><?php echo 'i am a boy!';
2、短标记格调(默认状况下不反对,须要在php配置文件中开启反对段标记)
<? ?>
例题:
<code class="php"><? echo '锄禾日当午'; ?>
小结:
httpd.conf是apache的配置文件
php.ini是php的配置文件
1.6.3 正文
单行正文: //和#
多行正文: / /
1.6.4 PHP输入语句
echo:输入 print:输入,输入胜利返回1 print_r():输入数组 var_dump():输入数据的详细信息,带有数据类型和数据长度 <?php var_dump('abc'); //string(3) "abc" ?>
1.7 变量
变量的实质就是内存中的一段空间
1.7.1 变量的命名规定
- 变量必须以$结尾,$符不是变量的一部分,仅示意前面的标识符是变量名。
- 除了$以外,以字母、下划线结尾,前面跟着数字、字母、下划线
- 变量名辨别大小写,$aa和$Aa是两个空间
下列变量是否非法
$a 非法 $a1 非法 $1a 不非法 $_1a 非法
留神:PHP语句必须以分号结尾
<code class="php"><?php $a=10; $name='Tom'; ?>
1.7.2 可变变量
变量名能够变,将变量名存储在另外一个变量中
例题
<code class="php"><?php $a=10; $b='a'; echo $$b; //10
例题
<code class="php"><?php $name1='tom'; $name2='berry'; if(rand(1,10)%2){ $name='name1'; //将变量名存储在$name中 }else{ $name='name2'; } echo $$name;
小结:
1、rand(1,10):获取1-10的随机整数
1.7.3 变量传递
变量的传递有值传递和地址传递(援用传递)
<code class="php"><?php //值传递 $num1=10; //将10付给$num1 $num2=$num1; //将$num1的值付给$num2 $num2=20; //更改$num2 echo $num1; //10
<code class="php">//地址传递 $num1=10; //将10付给$num1 $num2=&$num1; //将$num1的地址付给$num2 $num2=20; //更改$num2 echo $num1; //20
小结:
1、参数的传递有两种,值传递和地址传递
2、&示意获取变量的地址
3、值传递中,一个变量变了,另一个变量没有影响,因为是两个空间
4、地址传递中,一个变量变了,另一个也变了,因为两个变量指向同一个空间
1.7.4 销毁变量
用unset()来销毁变量,销毁的是变量名,变量值由PHP垃圾回收机制销毁
<code class="php"><?php $num1=10; $num2=&$num1; unset($num1); //销毁的是变量名 echo $num2; //10
没有变量援用的值是垃圾。
1.8 作业
phpstudy装置结束后,有一个phpmyadmin的治理数据库软件,默认状况下,放在虚拟目录下,这样不合理,请重新配置虚拟主机拜访phpmyadmin
输出phpmyadmin.com
关上phpmyadmin管理软件