学有小成-php基础语法-01
一学习目标
1、了解Web基本概念
2、掌握Apache的安装
3、掌握PHP的安装
4、掌握MySQL的安装
二PHP介绍
1简介
最早叫Personal Home Page
1994由Rasum Lerdorf使用Perl语言编辑的一个工具程序,主于在网站显示个人主页。
1995写了一个文档,对外公布,将此版本命名为1.0。
1996对外公开了源代码,很开源人士加入这个开发的过程。将这个版本命名2.0。
1997年以色列的两个工程师使用C语言对PHP这个工作程序进行了重写编码。将此版本命名为3.0
1998年对核心代码进行了重写,这核心代码命名为Zend Engine,同成立了一个公司对PHP进行维护。
2000时公布4.0,还是面向过程
2004时,公布5.0,在4.0的基本上增加了对面向对象的支持。
最新版本是7.1
2PHP的功能特点
- 对于公司来说,开发周期短(意味着效益)
- 对于程序员来说,入门相对简单。
– web服务器端的开发语言,用来实现用户的请求
– 开源软件,所有操作系统稳定执行。
– 入门简单。实现面向过程(上学),面向对象(洗车的过程)。
– 支持的主流数据库。MySQL,oracle等
3web服务发展历程
C/S阶段: Client/Server(客户端/服务器)
B/S阶段: Browser/Server(浏览器/服务器)
我们开发软件目的就是使用,为了使用者能够容易的使用我们开发的软件,所以任何一种软件都要为用户开发一个可视化的图形界面。
对于C/S结构,这个可视化的界面部分必须预先安装在使用者的电脑上。
对于B/S结构,这个可视化的界面部分不需要预先安装在使用者的电脑上,使用者通过浏览器浏览保存在远程服务器上的界面程序(html\css\js)。
4开发环境介绍
WAMP
Window Apache MySQL PHP
LAMP
Linux Apache MySQL PHP
三web基本概念
1静态代码与动态代码
使用HTML、CSS、JS所编码的代码就是静态代码。
使用PHP语言所编码的代码就是动态代码。
2静态网站与动态网站
使用HTML代码开发的网站就是静态网站。
使用PHP代码所开始的网站就是动态网站。
3基本概念
互联网: 将全世界的计算机联接起来形成的一个通讯网络的总称。
web服务器: 在互联网中提供web访问服务的一台电脑。
IP地址: 是网络中用于标识一台电脑的逻辑标识。主要用于计算机与计算机之间的通讯。
点分十进制的形式: 0-255. 0-255. 0-255. 0-255
域名:
网址,例如: www.itcast.cn、www.baidu.com
IP地址与域名的关系:
域名是为了使用者方便记忆,IP才是标识一台电脑的真正的地址。
DNS服务器:
Domain Name Server,主要的作用是用于将用户所访问的一个域名,转换IP。
HOSTS文件:
window操作系统的一个系统文件,主要作用就是用于域名与ip地址的一个解析。
位置:windows/system32/drivers/etc/hosts
4静态页面访问的完整流程
疑问:
服务器怎么能才正确的找到客户端所请求的index.html文件。
这就体现出域名的另一个作用。
小节:
域名有两个作用,
其一在外部能够通过域名找到服务器的电脑
其二在内部建立硬盘的目录与域名的对应关系。
四apache的安装
Apache是一种服务器软件。
服务器:
从硬件角度来讲,服务器就是一台配置很高的电脑,使用者是服务器管理员。
从软件角度来讲,服务器就是安装了某一种软件的电脑,
例如:
安装了apache web服务器软件的电脑就是apache服务器。
安装了msyql数据库服务器软件的电脑就是MySQL数据库服务器。
1.安装
一步步的操作就不多说了
2apache的目录结构
bin目录: apache的主程序文件
conf目录: apache的配置文件目录
htdocs目录: 站点根目录(域所对应的目录)
modules目录: apache的功能模块目录
说明:
apache是以模块化进行设计,并不是所有的模块在启动时都加载,用户可以根据需地来自定义加载。
五主机配置
1httpd.conf详解
httpd.conf是apache的主配置文件,
①、ServerRoot
apache的安装位置
②、Listen
apache的监听端口号
小节:
ip在计算机之间进行通讯是用于标识电脑
端口号是用于标识计算机内的具体的程序
apache 默认的端口号是80
③、ServerAdmin
用于设置管理员邮箱
④、ServerName
域名
⑤、DocumentRoot
用于设置站点的根目录
说明:
DocumentRoot是与ServerName对应的,当外部通过域名来访问apache服务器时,apache会到这个域名对应的DodcumentRoot指定的目录中找文件。找到就返回,找不到就报错
⑥、Diretory配置段
主要是用于对站点根目录的特性的设置,配置格式如下:
<Directory "D:/wamp/apache2.4/htdocs">
DirectoryIndex index.html
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
Require all granted
</Directory>
说明:
DirectoryIndex 用于设置默认首页,当仅指定了域名,没有指定具本的文件时,apache会将此项设置的文件返回给用户。
Options indexes FollowSymLinks 是否列出目录结构,当请求的文件不存在是会将站点的目录结构显示出来。
提示:
在开发阶段,要么允许列出目录结构,要么设置默认首页。
AllowOverride All或none 用于配置是否开启外部配置文件
Order配置项 用于配置此目录的访问权限
语法1:
Order deny,allow 如果没有明确的拒绝则全部允许
deny from ip地址或all
allow from ip地址或all
语法2:
Order allow,deny 如果没有明确的允许则全部拒绝
deny from ip地址或all
allow from ip地址或all
Require All Granted (这里特别说明下,自己安装的是2.2不需要这个参数,会报500,但是2.4需要这个)
2主机配置
业务场景:
域名: php8.com
站点根目录: e:\php\php8
默认首页: one.html
允许列出目录结构
<VirtualHost *:80> DocumentRoot "E:/php/php8" ServerName php8.com <Directory 'E:/php/php8'> DirectoryIndex one.html Options Indexes FollowSymLinks Order deny,allow allow from all </Directory> </VirtualHost>
3httpd.exe的作用
①、apache服务的维护
dir 查看当前目录的内容
cd 更改目录的位置(change dir)
httpd.exe文件可以进行apache服务的启动、停止、重新启动
语法:
httpd.exe –k stop 停止apache服务
httpd.exe -k start 启动apache服务
httpd.exe -k restart 重新apache服务
注意:
②、配置文件的语法检查
③、window环境变量
window的环境变量记录了很多的路径,当我们在cmd窗口,执行一个命令时,如果当前目录找不到所要执行的文件时,window会到环境变量中所记录的位置依次进行查找,找到就执行,找不到才报错。
复制路径
粘贴路径
重新开启cmd窗口
4虚拟主机配置文件
所谓的虚拟主机就是使用一个apache软件,配置多个主机(域名)。
①、开启扩展配置文件
默认虚拟主机的配置文件(httpd-vhosts.conf)没有开启的,如果想配置虚拟主机,需要在主配置文件中开启对扩展配置文件的加载。
②、在扩展配置文件中配置多个主机(虚拟主机)
就上面使用的代码即可。
5外部配置文件
apache除了主配置文件conf/httpd.conf与扩展配置文件conf/extra/httpd-vhosts.conf之外,还有可以在另一个文件中书写apache的配置,这个文件就是外部配置文件。外部配置文件的默认文件名为.htaccess
①、开启外部配置文件
②、.htaccess文件创建
只能通过编辑器另存的方式来创建这样的文件。
③、.htaccess文件的作用
特点:
此文件中配置的修改不需要重新启动apache。
自定义错误提示页面
语法:
ErrorDocument 错误代码 \错误显示文件
六mysql的安装
一步步的下一步,详细配置
2.登录测试
测试命令:
mysql命令的运行环境是cmd窗口。
格式:
mysql -uroot -p
示例:
七PHP的安装
当时的电脑apache安装的是2.22,所以对应的php dll文件应该是php5apache2_2.dll,这样apache才能启动。后续我直接使用集成包了。
php不是一个安装包,而是一个压缩包,解压后,做对应的配置即可
apache加载php
说明:
php.ini-development 开发阶段的配置文件的模板文件
php.ini-production 上线阶段的配置文件的模板文件
将php.ini-development更改为php.ini即可,如下图:
测试
创建一个Php文件,由于Php功能模块必须由apache的加载,也就是php文件的必须通过域名来访问。而且php文件名不能包含中文。
4php时间问题
在Php.ini中更改时区的设置
5php加载mysql
php加载MySQL需要在php.ini中开启对MySQL函数的支持。
php.ini的配置文件位于php目录内
测试
mysqli_connect(主机地址,用户名,密码);