简述php环境搭建与配置


Posted in PHP onDecember 05, 2016

最近在学习PHP,以下是看PHP100视频教程,做的学习笔记,在这里存放以便今后使用。

apache--PHP--DB(mysql)

一、apache:基本工作

·用户通过浏览器访问服务器的文件,它就将该文件传递给用户,在用户的浏览器显示该文件的内容。

·普通文本文件,可以通过apache直接传给用户浏览器显示。

·程序文件,比如PHP,它不能直接在浏览器显示,所以需要apache先调用PHP的某个组件,将PHP文件解析执行后,再返回给apache,apache再将这个执行后的文件,传给用户浏览器显示。

关键配置:

配置文件:conf/httpd.conf;(每次修改完这个文件后,需要重启apache)

1.引入PHP组件

因为在用户访问PHP文件时,apache能够调用到PHP组件,来执行该PHP文件。所以apache在配置的时候,需要在配置文件中,将PHP的组件和它关联起来。

例如我将apache安装在F盘的Program里面,所以它的组件路径就是:LoadModule php5_module "f:/Program Files/php54/php5apache2_2.dll"

2.设置什么时候去调用PHP组件

由于不是用户每次访问的都是PHP文件,所以不是需要每次都让apache都要去调用PHP解析组件。因些需要让apache判断什么时候,才去调用apache.即后缀名,是.php的时候才调用。

在这个标签里面<IfModule mime_module></IfModule>加如下这句:

AddType application/x-httpd-php .php

3.PHP的置配文,路径

PHPIniDir "f:\Program Files\php54"

以上是最关键,必不可少的配置。

其它配置:

在PHP目录中,有两个配置文件 php.ini-development和php.ini-productor 把其中一个名字改成 PHP.INI 就可以了

1.目录权限:

【<Directory "F:/Program Files/Apache2.2/htdocs">】通过这个设置,可以控制访问服务器的目录。

注意这里面的目录级别要大于或等于【DocumentRoot "F:/Program Files/Apache2.2/htdocs"】

例如:<Directory "F:/Program Files/Apache2.2/htdocs"> 只能访问htdocs目录下的站点目录。
<Directory "F:/Program Files/Apache2.2> 可以访问Apache2.2目录下的所有站点目录。

2.默认访问首页的文件名配置:

【<IfModule dir_module>DirectoryIndex index.html index.htm index.php</IfModule>】

通过这个设置,可以控制站点默认的首页;

类似于IIS服务器配置的主机头;

3.日志

logs/access.log 这个文件记录用户的访问,访问的IP 页面,等信息;

4.错误提示信息配置

# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://FREESKYC-B2D592.bavo/subscription_info.html
#

二、多站点配置

原理:用户通过域访问同一个IP地址的服务器时,服务器上的apache将不同的域名,指向服务器不同或相同的文件夹目录。这个过程也叫虚拟主机;

1.目录权限:

【<Directory "F:/Program Files/Apache2.2/htdocs">】通过这个设置,可以控制访问服务器的目录。

注意这里面的目录级别要大于或等于【DocumentRoot "F:/Program Files/Apache2.2/htdocs"】

例如:<Directory "F:/Program Files/Apache2.2/htdocs"> 只能访问htdocs目录下的站点目录。
<Directory "F:/Program Files/Apache2.2> 可以访问Apache2.2目录下的所有站点目录

2.载入多站点的组件:

在apach的配置文件靠近最下方有

#Include conf/extra/httpd-vhosts.conf

把这个#号去除,就可以载入这个组件;

3.配置这个多站点的组件

在apach安装目录里面的

conf\extra\httpd-vhosts.conf

找到这个文件 进行配置

4.配置说明:

NameVirtualHost *:8080 这里的端口号,必须和apach配置文件中一至

ServerAdmin:管理员的邮件地址,为不同站点可以设不同的邮件地址,如果不设置,默认会找到apach配置文件里面的管理员邮件地址;

DocumentRoot 是指向的虚拟目录

ServerName: 需要绑定的域名或IP

ServerAlias 绑定多个域名

ErrorLog 错误日志存放路径,为不同站点建立不同的错误日志

CustomLog 日志文件

以上只需要配置好

例如:

<VirtualHost *:8080>
DocumentRoot "F:/Program Files/www/bcom"
ServerName 127.0.0.3:8080
</VirtualHost>

两个就可以了,复制以上代码,改变目录和绑定的域名,就可以有多个站点了

要注意的是,

*在apach里面的目录权限要和这个多站点的目录对应
即:
<Directory "F:/Program Files/www">

*配置好多站点之后,apach就不会去找先前默认的站点了

这一句也就不起作用了:DocumentRoot "F:/Program Files/apach/htdocs"

*并且在地址栏目中如果输入了不存的,绑定的域名,apach会自动指向到多站点置配中的第一个站点目录

以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持三水点靠木!

PHP 相关文章推荐
杏林同学录(八)
Oct 09 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
Jun 09 PHP
php环境套包 dedeampz 伪静态设置示例
Mar 26 PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
php轻量级的性能分析工具xhprof的安装使用
Aug 12 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
php简单获取复选框值的方法
May 11 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
Mar 15 PHP
CI框架(CodeIgniter)操作redis的方法详解
Jan 25 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
May 25 PHP
docker-compose部署php项目实例详解
Jul 30 PHP
php 变量引用与变量销毁机制详细介绍
Dec 05 #PHP
[原创]php实现 data url的图片生成与保存
Dec 04 #PHP
php 魔术常量详解及实例代码
Dec 04 #PHP
深入浅出讲解:php的socket通信原理
Dec 03 #PHP
thinkphp实现分页显示功能
Dec 03 #PHP
thinkphp jquery实现图片上传和预览效果
Jul 22 #PHP
详解PHP用substr函数截取字符串中的某部分
Dec 03 #PHP
You might like
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
php中session过期时间设置及session回收机制介绍
2014/05/05 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
PHP中set_include_path()函数相关用法分析
2016/07/18 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
js打印纸函数代码(递归)
2010/06/18 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
Three.js利用性能插件stats实现性能监听的方法
2017/09/25 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
微信小程序:数据存储、传值、取值详解
2019/05/07 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
layui操作列按钮个数和文字颜色的判断实例
2019/09/11 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
详解Python当中的字符串和编码
2015/04/25 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
PHP如何对用户密码进行加密
2014/07/31 面试题
学校食品安全实施方案
2014/06/14 职场文书
八年级英语教学计划
2015/01/23 职场文书
公司财务部岗位职责
2015/04/14 职场文书
创卫工作总结2015
2015/04/22 职场文书
javascript实现计算器功能详解流程
2021/11/01 Javascript
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL
SQL Server中的游标介绍
2022/05/20 SQL Server