PHP学习笔记

本文是PHP学习笔记,从互联网基础知识到PHP的安装配置,再到基础语法和数据类型,全面介绍PHP编程。首先讲解互联网访问流程、服务器类型及web发展历史,然后介绍如何安装Apache、PHP和MySQL,以及配置虚拟主机。接着,文章深入探讨了PHP的基础语法,包括变量、常量、数据类型、运算符和注释,为初学者提供了一个全面的PHP入门教程。
摘要由CSDN通过智能技术生成

PHP

视频链接:https://www.bilibili.com/video/BV1ys411P7HX?p=6

认识互联网

互联网实际访问

互联网访问定义:互联网中的网站访问,本质是一个互联网上有一台已知的服务器,然后用户知道服务器对应的名字(UPL),然后通过URL,再经过互联网协议(HTTP协议)去自动寻找,并且服务器提供数据,浏览器解析数据的过程。

互联网基本知识

  • 所有计算机在互联网上访问到的内容都是由相应服务器提供资源

  • 服务器的本质不是硬件,二十装有服务器软件的计算机

    ​ 装有服务器软件就可以对外提供对应服务

    ​ 一台计算机可以安装多种服务软件

  • 所有计算机在互联网上都有一个唯一的标识代表自己:IP

    ​ IPV4是由32个比特位组成,转换成10进制分成四段,如112.90.32.8

    ​ IPV6是由128个比特位组成,转换成16进制分成8段,如31da:1d3:0:2f3b:2aa:ff:fe28:9c5a

    ​ 特殊IP:127.0.0.1代表本机电脑

  • 任何软件都有属于自己的对外交流的入口:端口(port),而任何客户机尝试访问服务器都需要指定访问的端口(常用的有默认)

    ​ web服务器常用端口:80

    ​ telnet远程登陆端口:23

    ​ FTP服务器常用端口:21

    ​ mysql数据库服务器常用端口:3306

  • IP能够找到电脑,但是用户记不住,所以需要给IP设定一个别名方便用户记住,这种别名叫做域名(domain name)

    ​ 域名存在纯粹是为了方便用户记住:www.baidu.com

    域名可以分为顶级、一级域名(.com/.cn/.org/edu),二级域名(baidu.comA),三级域名(www.baidu.com)以此类推

  • 域名是人为的不具有唯一性,要找到服务器只能通过ip,所以计算机需要将用户输入的域名转换成对应的ip地址才能找到服务器,这个过程叫做域名解析,提供该服务的系统叫域名系统DNS(Domain Name System)

    提供服务的产品公司将域名和服务器IP维护到DNS上(收费)

    本地域名解析,可以使用计算机自带的本地域名系统hosts文件(c:\windows\System32\drivers\etc\hosts)

互联网真实访问流程

在这里插入图片描述

互联网的访问站在用户的角度操作简便,但是站在一个网站的角度,需要提供硬件、软件和协议的各种支持,最终才能实现数据库的用户共享

服务器区分

域控服务器:用于内网,主要用于类似一个公司内部资源的管理的服务器

文件服务器:主要进行文件管理

web服务器:提供web服务,人们可以通过浏览器访问提供的资源。一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个web服务器是apache、nginx、iis。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因

FTP服务器:用于文件上传,对硬盘资源要求高

邮件服务器:与FTP类似

数据库服务器:性能要求相对较高,数据库要提供大量数据的分析、管理等等

VoD服务器:类似优酷一类的,使用的就是VoD服务器,对于流量、内存、网络要求较高

web发展历史

经历了两个阶段,俗称web1.0和web2.0,站在开发者的角度来说就是静态网站和动态网站

web1.0(信息共享):web技术发展的第一个解读眼就是静态技术阶段,HTML语言就是web向用户展示信息的最有效载体。在这个阶段,是以编辑为特征,网站提供给用户的内容是网站编辑处理后的,用户阅读网站提供的内容,这个过程是网站向用户的意向行为。
在这里插入图片描述

web2.0(信息共建):web技术发展的第二个解读眼就是动态技术阶段,在web1.0时代,web服务器会返回整个页面或者文档,但随着动态脚本语言的出现(ASP、JSP、PHP),使得用户可以在获取信息的同时还能提供信息,并且可以将提供的信息分享给其他用户。在这个阶段加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户的双向互动交流,web2.0不同于web1.0的最大之处在于它的互动性,用户拥有自己的数据,并完全基于WEB,所有功能都能通过浏览器完成。
在这里插入图片描述

认识PHP

PHP是一种编程语言,是一种建立了动态网站的脚本语言。

是一种运行在服务器端,可以嵌入到HTML的脚本/编程语言。

PHP的历史

在这里插入图片描述

安装部分基本参考(https://blog.csdn.net/weixin_36466834/article/details/105483903)

安装Apache

官网下载地址:http://httpd.apache.org/download.cgi

点击Files for Microsoft Windows在这里插入图片描述

点击ApacheHaus
在这里插入图片描述

下个x64的版本就行
在这里插入图片描述
解压后找到conf目录,打开里面的httpd.conf文件
在这里插入图片描述

将里面的DocumentRoot改成存放网页的文件夹,Define SRVROOT 后面的修改为自己的安装目录后,保存。
在这里插入图片描述在这里插入图片描述

担心会提示端口占用所以顺便把端口改为8081
06813243494)(F:\baishiqi\php\PHP1\image-20201201164353462.png)]

以管理员身份运行命令行界面,进入安装目录下的bin目录,输入:httpd.exe -k install -n “Apache24”
在这里插入图片描述

双击 Apache24\bin目录下的ApacheMonitor.exe,来管理apache运行状态。运行后,任务栏会出现ApacheMonitor.exe的小图标,左键点击该图标,选择Apache24->Start/Stop/Restart。通过ApacheMonitor.exe来管理Apache的状态。

安装PHP

1、PHP官网链接:https://www.php.net/

​ 或者直接点击官网下载链接:https://www.php.net/downloads

点击downloads
在这里插入图片描述

(8.0现在是测试版所以下载7版本)点击windows downloads在这里插入图片描述

下载x64 thread safe版本
在这里插入图片描述

解压后将目录下的php.ini-development重命名为php.ini
在这里插入图片描述
在这里插入图片描述

把php.ini复制一份到C:\Windows目录下

不然下一步测试的时候就会报错
在这里插入图片描述

不需要做额外配置了直接测试php.exe即可

在存放网页的文件夹下新建一个index.php,这里为D:\app\Apache\www 文件夹

<?php

echo'hello word!';

?>

在这里插入图片描述

php.exe -f  D:\app\Apache\www\index.php
//-f代表文件命令,后面是index.php的文件路径

剩下就照搬照抄吧。做这篇文章的时候我已经全部安装完毕了

配置Apache支持PHP

在Apache安装目录下的httpd.conf里新增如下内容:
【注意:dll的路径因为存在空格,需要在dll的路径加上双引号,否则会出现报错】

#让Apache服务器引入php7模块,从而可以支持php应用的web访问
LoadModule php7_module "D:\\Program Files (x86)\\WAMP\\php-7.2.29-Win32-VC15-x64\\php7apache2_4.dll"
#告诉Apache识别php文件的后缀,从而对这些后缀的应用进行解析
AddType application/x-httpd-php .php .html .htm
#告诉Apache服务器php.ini的目录,从而使服务器读取php的配置
PHPIniDir "D:\\Program Files (x86)\\WAMP\\php-7.2.29-Win32-VC15-x64"

在这里插入图片描述

Apache的根目录修改:默认为安装目录下的htdocs目录。打开httpd.conf,将

DocumentRoot " "
<Directory " ">
12

这两行前的#去掉,并修改为自己想设置的目录即可。

在这里插入图片描述
DirectoryIndex里面新增加一个index.php
在这里插入图片描述
保存文件,重启Apache。

测试

在Apache根目录下新建index.php

<?php 
	phpinfo();
?>

在这里插入图片描述
在浏览器中访问 127.0.0.1 或者 localhost 或者 127.0.0.1/index.php 或者 localhost/index.php(注意,如果修改过端口号,需要访问时加上端口号,例:127.0.0.1:8080)。出现下面的页面就是配置成功了。
在这里插入图片描述

接下来就是mysql安装了
讲真的我一点都不情愿做这个。。。。
虽然我已经安装好了
这简直就是我挥之不去的噩梦
而且我已经安装好了为什么要在这里浪费时间。
在这里插入图片描述
所以我选择照搬照抄。

mysql安装

源:https://www.runoob.com/mysql/mysql-install.html

注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。

官方安装链接:https://dev.mysql.com/downloads/mysql/

img

img

点击 Download 按钮进入下载页面,点击下图中的 No thanks, just start my download. 就可立即下载:

img

下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.11 下。

接下来我们需要配置下 MySQL 的配置文件

打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Program Files\MySQL\MySQL Server 8.0
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MySQL\MySQL Server 8.0\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

接下来我们来启动下 MySQL 数据库:

以管理员身份打开 cmd 命令行工具,切换目录:

cd C:\web\mysql-8.0.11\bin

初始化数据库:

mysqld --initialize --console

执行完成后,会输出 root 用户的初始默认密码,如:

...
2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
...

APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。

输入以下安装命令:

mysqld install

启动输入以下命令即可:

net start mysql

注意: 在 5.7 需要初始化 data 目录:

cd C:\web\mysql-8.0.11\bin 
mysqld --initialize-insecure 

初始化后再运行 net start mysql 即可启动 mysql。


登录 MySQL

当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:

mysql -h 主机名 -u 用户名 -p

参数说明:

  • -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
  • -u : 登录的用户名;
  • -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:

mysql -u root -p

按回车

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值