一、PHP简介
1、基本概念
-
web的概念
WEB的英文单词的本意是蜘蛛网的意思,在计算机领域中是网页的意思。官方定义是指一个由许多互相连接的超文本文件组成的系统,通过互联网访问。 -
web的发展历史 从互联网开始崛起到现在,经历了从web1.0、2.0到web3.0的过程
Web1.0(信息共享)的主要特点在于用户单纯的获取信息
Web2.0(信息共建)更注重用户的交互作用,用户既是网站内容的浏览者,也是网站内容的制造者。
Web3.0(信息传承)通过第三方信息平台对多家网站的信息进行整合,用户在互联网上拥有自己的数据,并能在不同网站上使用
举例:
Web1.0:来到一个餐馆,老板给你上了一盘番茄炒蛋
Web2.0:来到一个餐馆,你跟老板主动点了一份番茄炒蛋;
Web3.0:来到一个餐馆,老板见到你就问,老规矩,还要番茄炒蛋? -
静态页面和动态页面
静态页面:服务器不执行的页面
动态页面:服务器执行的页面 -
URL地址
由于80是Web服务器的默认端口号,因此可以省略URL中的“:80”即:http://www.jzlg.cn/index.html
1、url地址构成分析
2、端口和端口号 端口号的范围: 0-65535 3、域名解析过程 本质一台电脑访问另外一台电脑资源、寻址过程(IP地址、端口、域名、DNS)
在互联网上,IP地址是用来区分每台计算机的标识,但是IP记忆不友好,我们将IP地址取一个名字,一个IP对应一个名字,这个名字就称为域名。 访问过程: 步骤: ① 客户端输入域名(网址),在最近的机房做DNS解析(Domain Name Server),DNS解析就是将域名转化成IP地址 ② 通过IP地址访问服务器
4、本地DNS解析文件和目录 域名解析的时候会首先访问计算机本地上的hosts文件,如果匹配到了就不会再去请求DNS服务器了。 hosts文件 测试 小结:hosts文件用来做DNS解析
注:如果dns不生效,可以使用ipconfig /flushdns
清理dns缓存 -
B/S和C/S架构 B/S(Browser/Server)架构:指的是浏览器/服务器端的交互
B/S架构则是将浏览器作为客户端,用户只需要安装一个浏览器,就可以访问各种网站的服务,如微博、百度搜索等,是将浏览器作为客户端。 C/S (Client/Server)架构:指的是客户端/服务器端的交互
客户端和服务器的交互,客户端软件是专门开发出来的,如QQ、微信、LOL,用户必须安装软件才能使用。CS的开发成本很高,客户端和服务器端都要开发。
BS相对于CS的好处是无需安装,只要有浏览器就可以访问,升级只需要升级服务器端就可以了 PHP运行于服务器端,既可以在C/S架构中为客户端软件提供服务器接口,比如为APP应用提供数据接口,也可以作为B/S架构来搭建动态网站,比如资讯类、新闻类的网站。本书主要基于B/S架构进行讲解。 -
前台和后台
前台:浏览器看到的界面
后台:管理员看到的界面
2、概述
PHP是Hypertext Preprocessor的缩写,(超文本预处理器)是一种在服务器
端运行的开源
的脚本语言。
在全球前100万的网站中,有超过70%的网站是使用PHP开发的。
3、PHP的优点
- 开源免费,这对中小企业来说开源节省一部分开支
- 面向对象,PHP的面向对象有了很大的改进,可以用来开发大型商业软件
- 快捷性,开发快,运行快,学习快,开发周期短,效率高
- 跨平台型,PHP可以运行在Windows、Linux、MacOs下
- 支持多种数据库,可以支持MsSQL、MySQL、Db2、Oracle、Access等
- PHP中可嵌入HTML,编辑简单,实用性强,上手容易
这些优点使得PHP应用广泛,受到企业欢迎,很适合同学们学习
4、应用范围
那么学会PHP之后,大家可以将它应用在哪些领域呢?
- 网站相关的,包括中小型网站开发,大型网页业务逻辑结果展示,比如博客、企业网站等
- WEB办公管理系统,比如学校科研管理系统、OA系统等
- 硬件管控软件的界面展示,比如物联网设备的状态展示
- 电子商务应用,比如微信公众号的开发
- 其他功能,包括WEB应用系统,多媒体系统,企业级应用的开发
小结:就业优势,国内市场需求大,入门快,入门后学其他语言更快,都是一样的套路,都是先基础语法,流程控制、函数、文件处理,数据库操作等等。
二、环境介绍
1、web
环境
使用 PHP 需要先安装环境,安装环境比较麻烦,需要安装Web服务、PHP应用服务器、
MySQL管理系统。
Web服务:apache 和 nginx
PHP:多版本
MySQL:多版本
什么是LAMP?为什么会选择LAMP?
LAMP
组合(Linux,Apache,MySQL,PHP),这四个产品都是公开源代码的产品
apache为PHP提供了运行环境
linux为Apache的运行提供了平台
mysql数据库用来存储数据
多学一招:什么是wamp组合
windows+apche+mysql+php
2、环境集成包
因为多环境、多版本、多系统,集成包就出现了。集成包(phpStudy、Xampp、宝塔面板、wdcp面板),安装很方便。
3、PHPStudy
VScode
软件下载
PHPStudy下载地址:https://www.xp.cn/download.html
VScode下载地址:https://code.visualstudio.com/Download
集合下载地址:更新日期2021-08-28,下载速度有限制
三、软件使用
1、VScode
设置
安装插件PHP Intelephense
和 Chinese(Simplified) Language Pack for Visual Studio Code
2、PHPStudy
设置
- 安装
- 目录结构
- 打开PHPStudy,启动Apache
- 在浏览器输入
localhost
查看,出现如下内容即运行成功。 - 其他设置 设置虚拟域名和代码放置目录
虚拟域名只在本机生效,如要取消需要修改Host文件,文件路径C:\Windows\System32\drivers\etc\hosts
3、访问服务器
在www目录下创建demo.php页面
<?php
echo "Hello World";
?>
访问规则:http://服务器ip地址/php页面
比如:
http://localhost/demo.php
http://127.0.0.1/demo.php
4、常用的命令
- DOS命令
切换盘符: 盘符+冒号
进入目录: cd 目录地址
- Apache的命令
httpd -v 查看apache版本号 -version
httpd -t 检测运行环境 -test
- PHP的命令
php -v PHP版本号
5、服务器配置
- 更改虚拟目录
要更改虚拟目录的位置,需要到apache的配置文件中更改(conf/httpd.conf)
在phpstudy中,httpd.conf和vhost.conf都有配置虚拟目录的指令,需要在vhosts的目录中修改 更改虚拟目录
注:项目上线以后,禁止显示目录结构
权限的练习
例题一:
Order allow,deny
Allow from all
# 允许所有请求访问
例题二:
Order allow,deny
Allow from all
Deny from all
# 拒绝所有请求访问
练习三:
Order allow,deny
Deny from all
Allow from all
# 拒绝所有请求访问
练习四:
Order allow,deny
Allow from 192.168.101.50
Deny from 192.168
# 拒绝192.168开头的IP的访问
练习五:
Order allow,deny
Allow from 192.168.101.50
Deny from all
# 拒绝所有请求访问
练习六:
Order allow,deny
Allow from 192.168
Deny from 192.168.101.50
# 只允许192.168开头的,但要去除192.168.101.50 的IP访问
-
更改默认页
默认首页的查找顺序,从前往后。 -
更改监听端口
访问:
通过Listen指令设置监听的端口,可以设置多个监听端口http://域名:端口号/demo.php
-
查看端口占用的情况 在命令行下使用
在结果中查找字符串netstat -ano
查看netstat -ano|findstr 80
-
虚拟主机配置 要求:输入www.123.com打开web1的网站
vhosts.conf配置如下
<VirtualHost _default_:80>
DocumentRoot "C:\web1" # 指定虚拟目录路径
ServerName www.123.com # 虚拟目录绑定的域名
DirectoryIndex aa.php # 默认首页
<Directory "C:\web1">
Options -Indexes -FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
在host文件中做dns解析
127.0.0.1 www.123.com
访问结果