web分为两类:
静态网站:没有数据库支持交互性较差
动态网站:自动更新
用户输入域名IP:端口—— -->DNS--IP-->服务器电脑--端口号-->软件(服务)
静态网站访问:使用个人电脑在浏览器输入URL(统一资源定位)互联网上的绝对路径->DNS服务器(本地DNS;本地DNS没找到后进入网络DNS)->将IP地址返回个人电脑->个人电脑通过IP访问服务器电脑->服务器电脑通过端口找到Apache->Apache通过URI找到对应网页并将数据返回个人电脑浏览器->最后浏览器解析
动态网站访问:和静态网站访问类似,但Apache不能直接识别php代码,所以通过php引擎进行中间过渡
目录介绍
bin/cgi-bin:windows下的可执行文件
conf:配置目录文件
htdocs:Apache默认的主机地址(网站根目录)
modules:模块(Apache的所有功能都是模块化的)
查看使用的模块:httpd -M
(static)静态加载:Apache启动就加载好了,可以直接使用
(shared)动态加载:在使用到的时候才会加载
验证配置文件是否有效:httpd -t
配置默认站点
1.让Apache确定服务器上访问的位置,网站文件夹所在位置
2.方便用户使用名字访问对应的网站,给文件夹对应的取一个别名
3.凡是涉及到Apache配置文件的修改,那么需要重启Apache才能生效
3.实现DNS域名解析:通常默认站点都是本地DNS:hosts文件
php:解析php代码转变为html代码从而让浏览器可以解析的
1.通过cmd进入到php.exe所在目录
2.通过php.exe运行命令来指定要解析的php脚本就可以:php.exe -f php文件所在路径
php目录结构
ext:扩展包:php很多功能是通过加载扩展来实现的
很多Apache扩展包
配置Apache加载php模块
1.Apache加载php模块:在Apache的主配置文件中加载对应的php提供的模块
2.Apache分配工作给php模块:如果是php代码就交给php处理:文件后缀判断.php结尾
3.将php的配置文件加载到Apache配置文件中:共同生效
1.在Apache中指定php配置文件所在路径
2.php.ini文件是默认是不存在的,是以development和production格式存在,需要格式化
说明:php的配置文件已经加入到Apache的配置项中,意味着php.ini的修改需要Apache重启才会生效
mysql目录结构
mysqld.exe:mysql服务
mysqldump.exe:mysql的备份软件客户端
mysql客户端访问服务端需要进行寻找匹配:连接认证
连接:IP和端口确认(如果是本地都可以省略)
-hlocalhost
-p3306
-uroot不可以省略
-p密码
退出:\q
php连接mysql数据库
(php本身不具备操作mysql数据库的能力,需要借助php操作mysql的扩展来实现)
1.php加载mysql扩展:php.ini
2.php中所有的扩展都是在ext文件中,需要指定扩展所在路径:extension_dir
3.重启Apache
设置php的系统时区
通过php.ini中的timezone配置项来实现
php是一种运行在服务器端的脚本语言,可以嵌入在html中,所以需要有php代码标记
标记
ASP标记:<% php代码%>
短标记:<? php代码?>以上两种基本弃用,如果要使用那么需要在配置文件中开启
脚本标记:<script language="php">php代码</script>
标准标记:<?php php代码?>
注释
行注释:// #
块注释:/*注释*/
变量
1.在php中变量名字必须以‘$’开始
2.由数字、字母、下划线构成,不能以数字开头
预定义变量(系统定义):都是数组
$_GET:获取所有表单以get方式提交的数据
$_POST:POST提交的数据都会保存在此
$_REQUEST:GET和POST提交的都会保存
$_GLOBALS:PHP中所有的全局变量
$_SERVER:服务器信息
$_SESSION:session会话数据
$_COOKIE:cookie会话数据
$_ENV:环境信息
$_FILES:用户上传的文件信息
可变变量(指针)
变量传值
值传递:将值复制后给另外一个变量,两个变量没有关系
引用传递:将变量保存的值所在的内存地址,传递给另一个变量,两个变量指向同一块内存
代码装载->代码执行(为字节码)($a=1;)->脚本执行结束
代码装载:从脚本文件中将代码读取出来,进行编译,将结果(字节码)存放到代码段
代码执行:定义变量时,会在栈区开辟一个 a 存放数据段中 1 的地址。
$b=$a;会在栈区开辟一个 b ,在数据段开辟另一个 1 ,将 1 的地址存放到 b 中
$b=&$a;会在栈区开辟一个 b,将 a 的地址赋值给它
脚本执行结束:系统会回收所有内存
常量定义
define('常量名',常量值);
const 常量名=值;
常量命名
1.不需要使用$开始
2.通常以大写为主
访问常量
直接访问:echo PI;
(由于特殊符号不能直接使用):echo constant('-.-');
系统常量
PHP_VERSION:PHP版本号
PHP_INT_SIZE:整型所占的字节数
PHP_INT_MAX:整型 表示的最大值
魔术常量
__DIR__:当前被执行的脚本所在电脑的绝对路径
__FILE__:当前被执行的脚本所在的电脑的绝对路径(待自己文件的名字)
__LINE__:当前所属的类
__NAMESPACE__:当前所属的命名空间
__CLASS__:当前所属的类
__METHOD__:当前所属的方法