阿里云新用户优惠

第一章 PHP简介与开发工具

一、PHP简介

1、基本概念

  • web的概念
    WEB的英文单词的本意是蜘蛛网的意思,在计算机领域中是网页的意思。官方定义是指一个由许多互相连接的超文本文件组成的系统,通过互联网访问。

  • web的发展历史 从互联网开始崛起到现在,经历了从web1.0、2.0到web3.0的过程
    Web1.0(信息共享)的主要特点在于用户单纯的获取信息
    Web2.0(信息共建)更注重用户的交互作用,用户既是网站内容的浏览者,也是网站内容的制造者。
    Web3.0(信息传承)通过第三方信息平台对多家网站的信息进行整合,用户在互联网上拥有自己的数据,并能在不同网站上使用
    举例:
    Web1.0:来到一个餐馆,老板给你上了一盘番茄炒蛋
    Web2.0:来到一个餐馆,你跟老板主动点了一份番茄炒蛋;
    Web3.0:来到一个餐馆,老板见到你就问,老规矩,还要番茄炒蛋?

  • 静态页面和动态页面
    静态页面:服务器不执行的页面
    动态页面:服务器执行的页面

  • URL地址
    1、url地址构成分析

    由于80是Web服务器的默认端口号,因此可以省略URL中的“:80”即:http://www.jzlg.cn/index.html
    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),这四个产品都是公开源代码的产品

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 IntelephenseChinese(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
访问结果

关注微信公众号,与我交流吧~

分享