php环境的搭建
apache支持php有三种方式, cgi, fastcgi, 子模块加载.
Windows下php作为Apache的子模块加载
1.安装Apache后,找到httpd.conf文件,加入下列三行
#将php作为Apache的一个模块来处理
LoadModule php5_module "E:\server\php\php5apache2_2.dll"
#设置php.ini文件配置路径(这里改成php目录的位置)
PHPIniDir "E:\server\php"
#处理php文件
AddType application/x-httpd-php .php
设置默认访问页面为index.php
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
2.安装php文件
复制一份php.ini-development文件,将其改名为php.ini
在php.ini中配置扩展库目录
extension_dir = "E:\server\php\ext"
开启一些常用扩展,比如
extension=php_gd2.dll
extension=php_mysql.dll
extension=php_mysqli.dll
设置时区
date.timezone = PRC
3.安装mysql,这个比较简单,但是有一点要注意.
Mysql安装最容易出问题的当然,是卸载之后的安装,原因在于卸载并不彻底,主要是这数据存放目录data。默认在C:\C:\ProgramData\Mysql\Mysql server\data
4.连接测试
$link = mysql_connect("localhost",'root','root');
if(!$link){
echo "连接失败";
}else{
echo "连接成功";
}
以上的所有文件夹路径应该根据实际情况来进行修改.
虚拟主机配置
我们可以直接在httpd.conf当中进行配置,也可以使用extra中的httpd-vhosts.conf配置,建议使用第二种方式。
首先要开启vhost.conf配置
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
打开vhost.conf进行配置
为了使用基于域名的虚拟主机技术,我们需要指定服务器的ip和端口来接收服务。
这个通过NameVirtualHost 指令完成。
NameVirtualHost *:80
其中*表示所有的ip地址,如果是一个具体的ip,你可以写上这个ip,但建议使用*,80指的是端口。
接下来,要单独的配置具体的域名,通过 VirtualHost 指令段,其参数必须和NameVirtualHost
而且在指令段中必须包含ServerName 和 DocumentRoot
<VirtualHost *:80>
DocumentRoot "E:/server/apache/htdocs/app"
ServerName www.myapp.com
</VirtualHost>
接下来
配置hosts文件,指定域名和DNS的对应关系。
通过浏览器访问某个域名的时候,需要进行域名的解析,首先找本地的hosts文件,如果能解析,就使用本地的配置,如果不能解析,则去外网进行解析
如果要访问原来的localhost,再配置一个
<VirtualHost *:80>
DocumentRoot "E:\server\apache\htdocs"
ServerName localhost
</VirtualHost>
访问权限配置
两种配置方法,第一种在主配置文件中配置,第二种是在辅助配置文件中配置(推荐)
<VirtualHost *:80>
DocumentRoot "E:\server\apache\htdocs\demo"
ServerName www.myapp.com
<Directory "E:\server\apache\htdocs\demo">
Options Indexs FollowSymLinks
AllowOverride None
Order allow,deny
Deny from all
Allow from all
</Directory>
</VirtualHost>
默认的索引页,
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
在默认情况下,只索引index.html,如果要默认能够访问index.php,可以在此处添加
DirectoryIndex index.html index.php
索引列表
如果没有默认的索引页,它会将该文件夹下面的所有文件以列表的形式展示出来,但是需要有权限才行
上面配置内容中
Options Indexs FollowSymLinks 其中Indexs开启索引列表
在实际的网站部署时,索引列表是应该 关闭的 。
FollowSymLinks 是指的符号链接,linux系统才有效
关于Deny 和 Allow 的说明
[总则]:
影响最终判断结果的只有两点:
- order语句中allow、deny的先后顺序;
- allow、deny语句中各自包含的范围。
修改完配置后要保存好并重启Apache服务,配置才能生效;
开头字母不分大小写;
allow、deny语句不分先后顺序,谁先谁后不影响最终判断结果,但都会被判断到;
order语句中,“allow,deny”之间“有且只有”一个逗号(英文格式的),而且先后顺序很重要;
Apache有一条缺省规则,“order allow,deny”本身就默认了拒绝所有的意思,因为deny在allow的后面;同理,“order deny,allow”本身默认的是允许所有;
“order allow,deny”代表先判断allow语句再判断deny语句,反之亦然。
如果主文件和辅助文件都配置了权限,会怎么办?
以辅助文件为主
注意options这个指令,不会叠加,所以有时候我们会看到在indexes 有一个 + 或者 -的出现。
分布式配置文件
.htaccess
分布式配置文件,名字是固定的
#LoadModule rewrite_module modules/mod_rewrite.so 前面#去掉
配置分布式文件步骤:
1.开启分布式配置,默认情况下,这个是关闭的
将 AllowOverride None 改为 AllowOverride All 就开启了分布式配置
2.创建.htaccess
使用editplus编辑器或其他高级编辑器来创建
3.配置相应的权限
凡是写在directory中的权限配置都可以写在这个文件当中。
deny from All
分布式配置文件修改之后,不需要重启,立即生效。
和directory配置一样,所配置的权限在该目录及其子目录生效
优点:方便,给内容提供者一个自由配置权限的机会。
缺点:性能所损失(不小),只要开启分布式配置,那么它会在每个文件夹下搜索.htaccess
php环境的搭建的更多相关文章
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- CentOS7 + mono +Jexus 环境的搭建
CentOS7的安装和配置 1,从http://www.centos.org/下载CentOS7的镜像,并在VMWare中创建该镜像的虚拟机,为方便操作,把虚拟机的网络连接设置为桥接模式:在安装过程中 ...
- ubuntu14.04安装及web环境的搭建
在进行接下来的工作之前首先得准备一个Ubuntu的启动U盘以及腾出一个至少50G的系统盘(在网上看到有人用20G的,不知道效果怎么样).关于Ubuntu启动U盘大家可以参考这个帖子 http://ti ...
- ubuntu 14.04LTS 环境下搭建tftp服务器
花费我一整天的时间在 ubuntu 14.04LTS 环境下搭建tftp服务器,网上好多资料参差不齐,简单来说,TFTP(Trivial File Transfer Protocol),是一个基于UD ...
- Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1
交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...
- windows环境下搭建vue+webpack的开发环境
前段时间一直在断断续续的看vue的官方文档,后来就慢慢的学习搭建vue的开发环境,已经有将近两周了,每到最后一步的时候就会报错,搞的我好郁闷,搁置了好几天,今天又接着搞vue的开发环境,终于成功了.我 ...
- 非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法
非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法 环境:非域环境 因为是自动故障转移,需要加入见证,事务安全模式是,强安全FULL模式 做到最后一 ...
- 如何在没有域的环境中搭建AlwaysOn(二)
对DBA而言,不需要域就可以搭建SQL Server AlwaysOn是Windows Server 2016中最令人兴奋的功能了,它不仅可以降低搭建的成本,而且还减少了部署和运维的工作量. 上篇博客 ...
- JMeter--二、在Windows环境上搭建wordpress
为了学习使用JMeter,在Windows环境上搭建了wordpress. 使用JMeter录制或是编写登录worepress.编辑文章.删除文章的脚本. 首先了解一下wordpress是什么? Wo ...
- scikit-learn 和pandas 基于windows单机机器学习环境的搭建
很多朋友想学习机器学习,却苦于环境的搭建,这里给出windows上scikit-learn研究开发环境的搭建步骤. Step 1. Python的安装 python有2.x和3.x的版本之分,但是很多 ...
随机推荐
- 敏捷遇上UML—软创基地马年大会(广州站 2014-4-19)
我们将在广州为您奉献高端知识大餐,当敏捷遇上UML,会发生怎样的化学作用呢?首席专家张老师将会为您分享需求分析及软件设计方面的最佳实践,帮助您掌握敏捷.UML及两者相结合的实战技巧. 时间:2 ...
- Play Framework 完整实现一个APP(三)
1.添加Post类 package models; import java.util.*; import javax.persistence.*; import play.db.jpa.*; @Ent ...
- Maven基础配置—本地Maven配置
1.下载客户端 通过http://maven.apache.org/download.cgi#下载Maven本地客户端. 我下载的是apache-maven-3.2.5-bin.zip,在D盘解压. ...
- JavaScript(js)的replace问题的解决
我是前端的门外汉,js我用得比较少.今天意外发现js自带的replace “居然”只替换1处,而其它的许多许多语言都是替换全部的. 你可能会说,切,我早就知道.高手请绕道. 你可能会说,用js的正则就 ...
- .NET应用架构设计—面向对象分析与设计四色原型模式(彩色建模、领域无关模型)(概念版)
阅读目录: 1.背景介绍 2.问自己,UML对你来说有意义吗?它帮助过你对系统进行分析.建模吗? 3.一直以来其实我们被一个缝隙隔开了,使我们对OOAD遥不可及 4.四色原型模式填补这个历史缝隙,让我 ...
- Echarts 之二——地市联动数据统计
一.简介 通过地图可以更直观地展示各个地区的统计数据,能够更清楚地进行数据分析.有些场景下,我们不仅仅需要对每个地市进行统计分析.更需要对地市一下的区县进行数据统计,并进行联动.此事我们可以通过Ech ...
- mysql 安装问题
针对免安装版的mysql: 1.启动CMD,在mysql安装目录下 ~\bin\目录下,输入: mysqld -install 安装msyql服务: 2.启动MySQL服务,输入: net st ...
- python 多线程实例
#!/usr/bin/env python # -*- coding:utf-8 -*- import Queue import threading class ThreadPool(object): ...
- Facebook不相信所谓的员工能力等级。《长效商业英雄》(《哈佛商业评论》2016年11期),4星。
老牌管理杂志.本期我给4星.以下是书中一些信息的摘抄: 1:爱因斯坦曾说:“任何傻瓜都能让事情更复杂,只有天才能让事情变简单.”单就这一点来看,乔布斯无疑是天才中的天才.#137 2:通过让苹果聚焦于 ...
- ik扩展支持Solr配置
扩展ik原生代码:public class IKAnalyzerTokenizerFactory extends TokenizerFactory{ private boolean useSmart; ...