配置PHP的运行环境
一、wamp
Wamp是Windows Apache Mysql PHP的缩写,即在windows下将Apache+PHP+Mysql集成的开发环境,操作简单一键安装,摆脱手动修改配置文件的繁琐. 图形化操作PHP扩展、Apache模块,开启/关闭等点下鼠标就能完成. 另外还集成 phpmyadmin 数据库web管理程序.
Apache的目录结构
- bin 存放apache常用的命令
- cgi-bin 该目录存放linux下的常用命令
- conf 存放配置文件
- error 错误记录
- htdocs 默认情况下,存放站点文件
- icons 存放图标
- logs 记录apache的相关日志,记录错误日志
- manual 手册
- modules apache模块
准备虚拟主机
Apache的虚拟主机可以在conf/httpd.conf
文件中配置,也可以在conf/extra/httpd-vhosts.conf
中配置。后者在httpd.conf
文件中通过Include指令引入的子配置文件,但是在使用前需要先在httpd.conf
中找到如下一行配置取消注释,否则http-vhosts.conf
不会生效
打开apache的配置文件 htppd.cnf,分别打开重写扩展和虚拟主机扩展:D:\wamp\bin\apache\apache2.4.9\conf\httpd.conf
# 515行左右 使用虚拟主机配置
#Include conf/extra/httpd-vhosts.conf //这句前面的 注释 # 去掉,也可以不去掉,使用下面配置
Include conf/vhosts.conf
# 243行 开放外部请求的访问
<Directory />
AllowOverride none
Require all granted
</Directory>
普及知识
http://127.0.0.1/ 本地主机回环ip地址
http://localhost 本地主机域名
二、基于端口的虚拟主机
1、什么是端口
就是电脑与外界通信的端口;
我们可以这样理解,知道了你家的地址门牌号,如果要进入你家里,一定要走门的,那么门就相当于我们所说的端口,对方的电脑要和你的电脑进行通信,你的电脑会开一个端口的,因为软件不同,所以所开的端口也不同的,也就是不同的软件有不同的端口,一般来说是不变的
2、端口号
端口是通过端口号来标记的,端口号只有整数,范围从0 到65535
- 80 www
- 3306 mysql
- 21 ftp
#D:\wamp\bin\apache\apache2.4.9\conf\httpd.conf
# 64行左右 添加新监听端口
Listen 8081
3、ip+端口
#D:\wamp\bin\apache\apache2.4.9\conf\vhosts.conf
<VirtualHost *:8083>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "D:\workspace\my-vue"
ServerName localhost
ServerAlias localhost
<Directory "D:\workspace\my-vue">
Options Indexes FollowSymLinks
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
ErrorLog "logs/system.daniu.com-error.log"
CustomLog "logs/system.daniu.com-access.log" common
</VirtualHost>
二、基于虚拟域名的虚拟主机
1、一级域名和二级域名
一级域名
- baidu.com
- sina.cn
二级域名
- www.baidu.com
- news.baidu.com
- tieba.baidu.com
三级域名:二级域名的子域名,特征是包含三个“.”,一般来说三级域名都是免费的。
顶级域名的PR值比二级域名的高,如果一级域名不存在了,二级、三级域名也就不复存在了。
域名和IP之间的关系
- 在网络上机器彼此连接只能互相识别IP,而数字标识较难记忆,所以才演化出域名来代替IP地址,当我们将在地址栏输入域名欲跳转到某个页面时,点击提交后会由专门的域名解析服务器(DNS服务器)对我们的域名进行解析,得出域名对应的IP地址再进行连接。所以如果我们直接在地址栏输入与域名对应的IP也可以跳转到同一个页面。
- 在cmd窗口中输入:ping www.baidu.com和ping baidu.com得到相应IP,不同地区ping同一个域名的IP地址可能不同
2、修改配置httpd-vhost.conf
<VirtualHost *:80>
DocumentRoot "F:/webs/api"
ServerName www.api.com
ServerAlias api.com
ErrorLog "logs/api.com-error.log"
CustomLog "logs/api-access.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "F:/webs/shop.com"
ServerName www.shop.com
ServerAlias shop.com
ErrorLog "logs/shop.com-error.log"
CustomLog "logs/shop-access.log" common
</VirtualHost>
或者
<VirtualHost *:80>
DocumentRoot "D:/wamp/www/panshinet.cn"
ServerName www.panshinet.cn
<Directory "D:/wamp/www/panshinet.cn">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
注意“Deny,Allow”中间只有一个逗号,也只能有一个逗号,有空格都会出错;单词的大小写不限。上面设定的含义是先设定“先检查禁止设定,没有禁止的全部允许”,而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置,开放所有内容的访问权
3、配置系统hosts文件
//C:/WINDOWS/system32/drivers/etc 中的hosts文件中
127.0.0.1 www.panshinet.cn
127.0.0.1 www.shop.com
原文地址:https://www.cnblogs.com/chengwens/p/d29ac0c2362ad98e9dac0fd3ce9dee95.html
- linux系统下的权限知识梳理
- c#如何启动/干掉/查找 进程
- Android中Application的应用
- 孟昭莉博士:大数据大道之行
- .NET Core系列 :3 、使用多个项目
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(2)--云硬盘等后续配置
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip
- ubuntu系统升级记录
- .NET Core系列 :4 测试
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像
- centos下部署NTP时间服务器同步环境记录
- ASP.NET MVC扩展库
- centos7.2部署vnc服务记录
- nginx访问报错:Too many open files accept:
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Laravel框架Eloquent ORM新增数据、自定义时间戳及批量赋值用法详解
- PHP使用HTML5 FileApi实现Ajax上传文件功能示例
- python3.7调试的实例方法
- Laravel框架控制器,视图及模型操作图文详解
- PHP实现带进度条的Ajax文件上传功能示例
- 基于selenium及python实现下拉选项定位select
- PHP rmdir()函数的用法总结
- thinkphp5修改view到根目录实例方法
- openCV提取图像中的矩形区域
- PHP二维索引数组的遍历实例分析【2种方式】
- Selenium及python实现滚动操作多种方法
- PHP使用JPGRAPH制作圆柱图的方法详解
- PHP 实现超简单的SESSION与COOKIE登录验证功能示例
- PHP 图像处理与SESSION制作超简单验证码的方法示例
- 简述PHP7.4 新特性和废弃的功能