PHP网页的工作原理
网络基本概念
IP地址
唯一标识网络上的主机或设备。
IP地址是由四段8位二进制构成,中间用小数点隔开。如:192.168.18.70
每一段取值0-255的十进制。
特殊的IP地址:127.0.0.1,主要用于本地的软件或网站测试。
注意:互联网上的主机之间互访,必须是IP到IP的互访,不能直接识别域名的访问。
特点:只能自己访问自己,其它主机无法通过该IP地址,访问到你自己。
DN(Domain Name)域名
用几个字母构成的一个名称而已。
用域名访问主机要简单的多。如:www.baidu.com、www.sina.com.cn 、 www.sohu.com
特殊的域名:localhost
特点:只能用于自己访问访问自己,用于本机的网站的测试。
DNS(Domain Name System)域名解析系统
DNS也是一台联网的服务器。
DNS中存储的是IP地址和域名的关系对应表(映射关系)。

Hosts——本地DNS
Hosts文件是一个隐藏文件,是一个系统文件,是一个没有扩展名的文件。
文件路径:C:\Windows\System32\drivers\etc\hosts
PHP网页的工作原理

Apache服务器
1、介绍
Apache服务器,是最流行的服务器之一。
其它的服务器软件还有:IIS、Nginx等。
WAMP组合:windows+apache+MySQL+php
LAMP组合:Linux+Apache+MySQL+PHP
2、安装



3、测试是否安装成功

4、启动和停止Apache
(1)通过任务栏上的Apache的小图标

(2)计算机右击——管理——服务和应用程序——服务

(3)在CMD模式下

5、目录结构
Apache的工作目录:C:\wamp\Apache2

6、配置文件语法检查
Apache的主应用程序:C:\wamp\Apache2\bin\httpd.exe
Apache的主配置文件:C:\wamp\Apache2\conf\httpd.conf

修改环境变量之后,再运行的结果

7、环境变量设置
作用:如果你在C盘下直接运行httpd.exe程序时,会报“不是内部或外部命令”的错误。如果你想直接在C盘根目录下运行httpd.exe,则需要配置环境变量。也就是将httpd.exe目录复制到系统环境变量中去。
操作路径:我的电脑右击——属性——高级系统设置——高级——环境变量

Apache基本配置——主配置文件httpd.conf
Apache主配置文件路径:C:\wamp\Apache2\conf\httpd.conf
1、Listen
描述:当Apache服务启动起来后,监听指定的端口,并提供服务。
说明:监听端口,是监听自己电脑网卡的IP的端口,不是其它人的IP地址和端口。
语法:Listen [IPAddress][:port]
举例:
Listen 80 //监听自已所有网卡IP的80端口的请求(默认)
Listen 8080 //监听自己所有网卡IP的8080端口的请求
Listen 192.168.18.70:80 //监听指定IP的80端口的请求。

2、DocumentRoot
l 描述:指定网站根目录
l 语法:DocumentRoot dir-path
l 参数:dir-path是指虚拟主机的绝对目录路径。


3、DirectoryIndex
l 描述:设置网站的默认首页文件名
l 语法:DirectoryIndex filename1 filename2 filename3 ……
l 提示:多个首页文件名之间用空格隔开,哪个先存在,就先运行哪一个。

4、目录权限

DocumentRoot “e:/www”
<Directory “e:/www”>
#Options命令:指定目录启用哪些服务器特性。取值:None、All、Indexes
# None:所有人都无权访问。All所有人都可以访问。Indexes如果首页不存在,则显示目录列表
Options Indexes
#指定禁止和允许访问的一个顺序
Order Deny,Allow
#禁用访问的权限
Deny From All
#允许访问的权限
Allow from 127.0.0.1
</Directory>

Deny命令:禁止访问的权限
l Deny from All 禁止所有的外部IP地址的访问
l Deny from 192.168.18.70 禁止我自己访问
l Deny from 192.168.18.90 192.168.18.110 禁止这两个IP访问我的空间
l Deny from 192.168.18 禁止网段192.168.18之间所有IP访问
Allow命令:允许访问的权限
l Allow from All 允许所有的外部IP地址的访问
l Allow from 192.168.18.90 192.168.18.110 允许这两个IP访问我的空间
l Allow from 192.168.18 允许网段192.168.18之间所有IP访问
Apache虚拟主机配置
1、虚拟主机介绍
将一台主机划分成若干个“小空间”,对外出租。
虚拟空间,共享各种服务:WWW服务、MySQL数据库、企业邮箱、FTP服务。
每一个虚拟网站,都有一个独立的空间。
2、NameVirtualHost
该命令是配置基于域名的虚拟主机必须的命令之一。
基于域名的虚拟主机:一个IP地址,对应多个不同的域名。
3、虚拟主机的配置
<VirtualHost></VirtualHost>配置段
虚拟主机配置步骤
第一步:本地的DNS设置
文件路径:C:\Windows\System32\drivers\etc\hosts

第二步:Apache的主配置文件httpd.conf
文件路径:C:\wamp\Apache2\conf\httpd.conf

第三步:Apache的虚拟主机配置 httpd-vhosts.conf
文件路径:C:\wamp\Apache2\conf\extra\httpd-vhosts.conf

Alias目录别名
l 含义:将当前网站目录之外的目录,指定到当前目录中来使用。
l 语法:Alias /别名目录 真实的绝对路径目录
l 注意:别名目录也要指定访问权限。
l 举例:Alias /music “d:/www/music”


PHP5脚本程序
1、PHP5的安装

2、在CMD模式下运行php脚本

3、php.exe主程序的相关参数
l -f 去执行指定的PHP脚本文件。例如:php.exe –f e:\www\web1\b.php
l -i 去调用phpinfo()函数
l -v 显示PHP的版本号
l -m 显示PHP加载了哪些功能模块。

配置Apache使之能调用PHP处理模块(插件),去处理php脚本
配置Apache。当Apache启动后,自动装载PHP处理模块。
可以将PHP处理器,看成是一个“插件”。当Apache服务启动后,PHP这个插件自动装载。
配置文件:C:\wamp\Apache2\conf\httpd.conf
1、LoadModule
l 描述:将PHP模块,当成一个“插件”装载到Apache中。
l 语法:LoadModule module_name module_path
l 参数:
u module_name:指定要装载的模块的名称。如:php5_module
u module_path:指定模块文件的详细路径。如: c/wamp/PHP5/php5apache2_2.dll

查看Apache已经装载了哪些模块?

2、AddHandler
l 描述:让PHP处理器,与相应的文件扩展名绑定在一起。
l 语法:AddHandler 应用程序名称 扩展名 扩展名
l 举例:AddHandler application/x-httpd-php .php


AddHandler命令有一个缺点,当访问你的文件是.php.html时,PHP处理器同样会执行。因为AddHandler命令,只要包含.php这几个字符的文件名,都会当成PHP来处理。
3、AddType
l 描述:将指定的扩展名,与对应的MIME类型,进行绑定。MIME类型就指文件内容格式。
l 提示:常用的MIME类型有:image/gif、image/jpg、text/html、text/css
l 语法:AddType MIME类型 扩展名1 扩展名2
l 举例:AddType application/x-httpd-php .php .phtml
l 注意:只能处理.php后缀的文件,不能处理.php.html后缀的文件。

在Apache启动时,去加载php.ini文件。
PHPIniDir
l 描述:当Apache启动时,去指定的目录查找php.ini文件。
l 语法:PHPIniDir php.ini文件的绝对路径
l 举例:PHPIniDir “c:/wamp/PHP5”

PHP5的配置设置(php.ini)
1、修改配置文件路径


2、生成配置文件


加载MySQL模块
修改php.ini文件


添加PHP5目录的环境变量
在环境变量中,添加c:\wamp\PHP5目录即可。
MySQL数据库(my.ini)
1、安装和配置













PHP网页的工作原理的更多相关文章
- 简述ASP.NET Web网页的工作原理。
ASP.NET的工作原理是:首先,有一个HTTP请求发送到Web服务器要求访问一个Web网页. Web服务器通过分析客户的HTTP请求来定位所请求网页的位置.如果所请求的网页的文件名的后缀是 aspx ...
- [diango]理解django视图工作原理
前言:正确理解django视图view,模型model,模板的概念及其之间的关联关系,才能快速学习并上手使用django制作网页 本文主要讲解自己在学习django后对视图view的理解 在进入正文之 ...
- 【转】web服务器工作原理
一.静态网页的工作原理如下:A.用户在浏览器的地址栏输入要访问的地址并回车,触发这个浏览请求. B.浏览器将请求发送到Web服务器.C.Web服务器接受这个请求,并根据请求文件的后缀名判定是否为HTM ...
- How Javascript works (Javascript工作原理) (九) 网页消息推送通知机制
个人总结: 1.介绍了网页消息推送通知机制 全文地址:https://github.com/Troland/how-javascript-works 这是 JavaScript 工作原理的第九章. 现 ...
- Servlet的生命周期及工作原理
Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...
- 浏览器内部工作原理--作者:Tali Garsiel
本篇内容为转载,主要用于个人学习使用,作者:Tali Garsiel 一.介绍 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工作原理,我们将看到,从你在地址栏输入google.com到你看到 ...
- HTTPS工作原理
HTTPS是什么 HTTPS全称为Hypertext Transfer Protocol over Secure Socket Layer,及以安全为目标的HTTP通道,简单说就是HTTP的安全版本. ...
- B/S工作原理
B/S疑问 先对比C/S,在C/S中我们开发时怎么做的,是不是这样:拖控件,写方法,所有的功能基本就是这样,就像我们的机房收费系统,C/S学习完之后,我们开始B/S学习,这里我们接触的是ASP.NET ...
- PC工作原理
提到"技术"这个词时,大多数人都会想到计算机.事实上,我们生活中的方方面面都离不开计算机部件.家里的电器设备有内置的微处理器,例如电视机.甚至汽车里也装有计算机.但是,提到计算机大 ...
随机推荐
- iOS实现自定义的弹出视图(popView)
前段时间,在项目中有个需求是支付完成后,弹出红包,实现这么一个发红包的功能.做了最后,实现的效果大致如下: 一.使用方法 整个ViewController的代码大致如下 // // SecondVi ...
- 高德地图 JavaScript API 开发系列教程(二)
上节简单介绍高德地图JavaScript API及网页中基本地图展示.有了地图后我们可以用来做什么?有人说离我最近的超市在哪里,我怎么去?别急,这些功能我们后面都会慢慢实现.今天为大家详细讲解如何在地 ...
- The required Server component failed to start so Tomcat is unable to start解决之一
http://www.cnblogs.com/quxuedan/archive/2012/12/11/2813445.html 看看这个博客园园主说的吧
- yii2.0根据query查看sql语句
时间长不用就总是忘记,好记性比不上烂笔头,记录下来备用: Yii::$app->getDb()->getQueryBuilder()->build($query));
- 关于关闭Eclipse的控制台自动跳出
参考文章: http://my.oschina.net/mn1127/blog/161093 Eclipse的控制台console有时候经常的跳出来,非常的烦人! 尤其是在调试期间跳出,以下是分享一下 ...
- [BigData]关于Hadoop学习笔记第二天(PPT总结)(一)
Plan: 分布式文件系统与HDFS HDFS体系结构与基本概念 HDFS的shell操作 java接口及常用api HADOOP的RPC机制 HDFS源码分析 远程debug 自己设计一分布式文件系 ...
- [未完成]关于Eclipse4RCP书中内容总结
原文地址http://www.vogella.com/tutorials/EclipseRCP/article.html Table of Contents 1. Eclipse 4 1.1. Wha ...
- hdu 2412 树形DP
思路:对于最大的人数很容易想到,就直接dp.但对于最大值是否唯一就需要应用辅助数组,isOnly[i][0]表示dp[i][0]是否唯一,同理isOnly[i][1]. 那么当(dp[v][0]> ...
- CSS3 伸缩布局盒模型记
CSS3 伸缩布局盒模型 CSS3引入的布局模式Flexbox布局,主要思想是让容器有能力让其子项目能够改变其宽度,高度,以最佳方式填充可用空间.Flex容器使用Flex项目可以自动放大与收缩,用来填 ...
- java之enum枚举(2015年05月28日)
背景: 今天启动了一个新的项目,由于要从之前的旧项目中拿过来一些代码,所以就看了下公司之前项目代码,发现有定义的常量类,也有枚举类,然后就在想着两者的功能差不多,那他们之间到底有什么区别呢,所以就决定 ...