本教程适用于初学PHP,想了解手动搭建PHP环境的童鞋。

一键环境和高手勿喷。

本教程以下列版本软件为例:

所需软件目录

我在这里的目录结构是(个人习惯)

安装与配置 apache

双击安装Apache

这里我们选择第一个,然后点击 Next。

这里随便填一个域名,随便填一个 email 就可以了。

然后选择

默认占用 80 端口就 OK 了点击 Next。

点击 Next。

这里选择安装路径

然后点击intall

正在安装中

安装完成

右下角这里是绿色的表示成功了!

这时我们在地址栏里输入 localhost 就会显示 It works!

到此Apache就安装完了。

这里我可以介绍一下Apache的安装目录

APACHE2.2 目录

├─bin --> binary,二进制文件,是 apache 的主程序及控制台等可执行程序的目录

├─cgi-bin --> 公共网关接口方式存放程序的目录

├─conf ---->config 的缩写,配置文件目录

│ ├─extra ---> 辅配置文件

│ ├─original---> 原始的配置文件,可以在修改失败后来恢复用 │

└─httpd.conf -->主配置文件,引入 extra 里面的各子配置文件

├─error --->存入一些请求错误时,所给客户回应的信息.

├─htdocs ---> 网页的主目录

├─icons --->一些小图标

├─logs ---> 日志信息,其中 error.log 是错误日志信息,对我们调试很有帮助.

├─manual --> 手册,帮助文档

└─modules --> 模块目录,放置各种功能模块

下面介绍一下如何修改默认主页

新安装的 apache 它的默认主页是 index.html

首先我们来到Apache2.2conf目录下面,找到 httpd.conf 文件

我们随便用一个文编编辑器打开它

然后我们搜索 index.html

在大约 241 行找到

如果你只指定了一个目录,没有指定访问的网页,它就会默认访问指定目录下的index.html 文件,

这个文件是可以设置多个的,并且优先级是从前到后。

这里我们可以将它设置为 index.html index.php

这样服务器默认先访问 index.html,如果没有,则默认访问 index.php

注意:我们改完了 apache 配置文件后要重启一下才会生效。

我们可以用命令行重启它(这里我们要用管理模式启动命令行):

先输入net stop apache2.2

再输入net start apache2.2

或者在计算机管理里面重启 Apache服务

还可以用 Apache自带的管理器重启

如何修改服务器根目录

在 httpd.conf 文件里搜索 DocumentRoot 在大约 179 行 我们来修改它的根路径

然后再下面大约 206 行处也要修改一下,注意要和上面修改的一样

如何修改 Apache 的监听端口

我们接着在 httpd.conf 文件里搜索 80 在大约46行找到 Listen。

Listen 是听的意思,也就是说它在监听 80 端口如果我们将它更改为 81 ,然后重启 Apache 这时我们再次访问 localhost

这是因为浏览器请求 http 协议的时候默认访问的是 80 端口,也就是说如果只写localhost,那它实际访问的是 localhost:80,但是我们现在把监听的端口改成了 81,那么我们输入网址时就应该这样写 localhost:81。

当然我们也可以让它监听多个端口,如下图:

安装与配置 PHP 解释器

现在我们在根目录新建一个a.php 文件,然后输入 <?php echo 'hello world'; ?>

然后我们用浏览器打开它将显示如下图内容

貌似不太对劲啊!?可以看出来 php 文件并没有被解析,而是原样输出了...

这是为什么呢?

因为Apache是一个服务器,它只能响应一些静态的东西,如html、图片等等。

但是像这样的程序,它就不能解析了这时我们就要请出PHP的解释器

解压 PHP,并配置 php.ini

我们将它解压到文件夹 PHP5.3.2 中然后配置 php.ini

我们发现在目录中找不到 php.ini 但是我们能找到这两个文件

我们现在是处于学习阶段,所以我们用development这个文件我们将php.ini-development文件复制一份并重命名为 php.ini

这里我们有两个地方需要配置,其中一个是我们将 php 解压到如下图的目录中了

PHP 和 Apache 一样都有很多个扩展模块,放在ext这个目录中了。

Ext 是 extension 的简写,所以我们要明确的告诉 php 它的 extension_dir 在哪个位置。

我们在 php.ini 中搜索 extension_dir 在大约807 行中找到extension_dir = "./"

我们看到在 extension_dir 的前面有一个分号“;”,这个是注释的意思,就是说extension_dir 被注释掉了,现在我们将分号去掉 ,并将路径更改为D:ampPHP5.3.2ext(你实际的PHP目录)

这是第一个要配置的地方。

第二个要配置的地方,我们搜索timezone在大约996行找到

Timezone是用来调时区用的,因为 php 有一些函数用来显示时间的,我们所在的时区是东八区,所以让 timezone= PRC 同时还是将前面的分号去掉。

现在我们配置完了 php 解释器,接下来我们要把php解释器和Apache整合起来。

整合 php 解释器和 Apache

让Apache引入php模块,或者说引入php解释引擎。

我们在 Apache 的配置文件httpd.conf中随便找个地方告诉 Apache,php 的配置目录在哪,也就是php.ini在哪。

在文件中随便找个地方输入PHPIniDir "D:/amp/PHP5.3.2" (这里填写你的PHP的实际目录)

这样就告诉 Apache 服务器 php.ini 的路径了。

然后我们看 php 的目录下有一个php5apache2_2.dll的文件,php 和 Apache 的连接全靠它。

然后我们在httpd.conf文件中搜索 .so,然后再 .so 的最后面加上 php5apache2_2.dll 的路径,

输入LoadModule php5_module "D:/amp/PHP5.3.2/php5apache2_2.dll"

最后我们告诉 Apache 如果遇到以.php 结尾的文件,就调用 php 解释引擎解析。

我们搜索Addtype,在大约 383 行找到,

然后再下面加上 AddType application/x-httpd-php .php .phtml

意思是如果碰到了以.php 结尾或者.phtml 结尾的文件就调用 php 解释器来解析。

现在我们重启一下Apache,这次我们再次打开 a.php 文件就会正常解析了。

接下来开启php的功能模块

在php.ini中搜索extension=php我们找到如下

我们将需要的功能模块开启就 OK 了。

我暂时就需要以上这些模块,通常新手也就用到这些然后我们重启Apache。

在开启某些模块后,重启Apache的时候会报错,这是因为兼容性的问题为了解决这个问题我们还要在 http.conf 文件中引入两个文件

LoadFile "D:/amp/PHP5.3.2/libeay32.dll"

LoadFile "D:/amp/PHP5.3.2/ssleay32.dll"

这样就解决了。

这时我们在 a.php 中输入<?php phpinfo(); ?>

就可以看到 php 的信息了。

如果在最后重启的时候失败了,我们就用命令行进行重启试一下,如果报了如下错误

这是因为系统上没有安装相应的 VC 编译器的库文件和头文件,安装后就会解决此问题。

安装与配置 Mysql

双击打开MySQL

点击 Next

我们将它设置完后,点击 Next 继续安装。

正在安装中...

现在开始配置 mysql,点击 Next继续。

我们在这里选择细节配置,然后点击 Next。

选择第一个,然后点击 Next。

这里我们可以将innoDB库也放在data下面。

点击 Next

Next!~~~

Next!~~~

NNNNNNext!!!!!

这里根据自己的需求是否可以远程登录,反正我是没有允许,然后点击next。

最后一步

点击 Execute 就可以了

经过漫长的等待.....

终于!!

哈哈!! OK!!

最后点击 Finish,就此安装完毕我们打开命令行试一下。

输入 mysql –uroot –p 密码

如果显示如下内容就说明安装成功了 !

安装phpMyAdmin

这一步应该是最简单的。

Phpmyadmin 是一个B/S软件,是一个可视化管理 Mysql 的软件,我们直接将它解压到,根目录中就可以了。

然后我们直接在浏览器中打开它

如果正常显示登录页面就代表成功了。

如果出现下面这种情况

出现这个问题,是因为 PHP 的 mbstring 扩展没有打开,或者说 PHP 扩展路径没有被正确指定,请打开 php.ini,将 ;extension=php_mbstring.dll 前面的分号(;)去掉,在php.ini 中 增 加 一 句 extension_dir="D:ampPHP5.3.2ext"; 其 中D:ampPHP5.3.2ext 是指 php_mbstring.dll 文件存放的目录,也就是PHP 扩展目录(PHP 目录下的 ext 目录),请修改此目录路径为你的实际路径。

修改完后重新启动服务器即可。

phpMyAdmin安装到此就结束了。

本教程适合想了解手动搭建PHP环境的新童鞋,不喜勿喷,谢谢!

本教程到此结束。

新人学PHP,认为手动搭建环境而苦恼吗?这篇文章告诉你多简单!的更多相关文章

  1. php 手动搭建环境

    php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 htt ...

  2. PHP手动搭建环境

    php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 htt ...

  3. 分享关于搭建高性能WEB服务器的一篇文章

    这篇文章主要介绍了Centos5.4+Nginx-0.8.50+UWSGI-0.9.6.2+Django-1.2.3搭建高性能WEB服务器的相关资料,需要的朋友可以参考下(http://m.0813s ...

  4. Linux手动搭建LAMP环境

    当你看到标题里的“手动搭建”,你是不是会想,难不成还有“自动搭建”?当然......不是,这里的“手动搭建”是指按部就班的搭建Apache.MySQL.PHP环境,是相对于集成软件包而言的.所以你是不 ...

  5. php手动搭建wamp环境(一)--之 Apache HTTP Servcer-Apache

    前言:因为之前为了快速进入工作(其实是懒!),所以一直使用集成环境 wampserver  或 phpstudy,傻瓜式安装使用卸载,配置也简单.但是最近新电脑突然想回顾一下手动安装,所以记录一下.搭 ...

  6. Arcgis Android 手动搭建开发环境

    前言 本文为大家分享arcgis android 环境的手动搭建过程,默认你懂一定的java和android 基础知识,已经有android的开发环境.如缺乏以上环境和知识,请自行补充. 版本介绍 A ...

  7. WindowsServer2012 R2 64位中文标准版(IIS8.5)下手动搭建PHP环境详细图文教程(二)安装IIS8.5

    //来源:http://www.imaoye.com/Technology/WindowsServer2012R264IIS85.html 阿里云服务器ECS Windows Server 2012 ...

  8. 混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)

    1.ionic简介 为什么选用ionic: 彻底开源且免费 性能优异 基于红的发紫的AngularJs 漂亮的UI 强大的命令行(基于更热门的nodejs) 开发团队非常活跃 ngCordova,将主 ...

  9. 萌新--关于vue.js入门及环境搭建

    十几天闭关修炼,恶补了html跟css以及JavaScript相应的基础知识,恰巧有个群友准备做开源项目,愿意带着我做,但是要求我必须懂vue.js,所以开始恶补vue.js相关的东西. 在淘宝上买了 ...

随机推荐

  1. 转:30分钟学会如何使用Shiro

    引自:http://www.cnblogs.com/learnhow/p/5694876.html 本篇内容大多总结自张开涛的<跟我学Shiro>原文地址:http://jinniansh ...

  2. Redis(八):Redis的复制(Master/Slave)

    Redis的复制(Master/Slave)目录导航: 是什么 能干嘛 怎么玩 复制原理 哨兵模式(sentinel) 复制的缺点 是什么 官网 行话:也就是我们所说的主从复制,主机数据更新后根据配置 ...

  3. linux操作之ntsysv

    命令nysysv , 提示Command nod found  先在命令行输入 export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin:    ...

  4. day 15 装饰器

    装饰器(重点,难点) 开闭原则:             对功能的扩展开放            对代码的修改是封闭的 在目标函数前和后插入一段新的代码.不改变原来的代码 通用装饰器写法: # 存在的 ...

  5. R语言进行词云统计分析

    R语言进行词云统计分析 本文章从爬虫.词频统计.可视化三个方面讲述了R语言的具体应用,欢迎大家共同谈论学习 1.使用 rvest 进行数据的爬取 #如果没有,先安装rvest包 install.pac ...

  6. Python(9-18天总结)

    day9:函数:def (形参): 函数体 函数名(实参)形参:在函数声明位置的变量 1. 位置参数 2. 默认值参数 3. 混合 位置, 默认值 4. 动态传参, *args 动态接收位置参数, * ...

  7. EOJ Monthly 2019.3 A

    A. 钝角三角形 单点时限: 3.0 sec 内存限制: 512 MB QQ 小方以前不会判断钝角三角形,现在他会了,所以他急切的想教会你. 如果三角形的三边长分别为 a, b, c (a≤b≤c), ...

  8. #include stdio.h(A)

    /* 第一个*******知识点工程相关信息******** 1.创建工程 文件->新建->工程->win32 console applecation ->文件名不能为汉字 2 ...

  9. Go 问题集

    删除文件后缀名,出现问题 import "strings" func changePath(file_path string) string { ) } 转换路径 /转换为\\ i ...

  10. Shell--cut用法

    cut是以每一行为一个处理对象的,这种机制和sed一样. cut接受三个定位方法: 1)byte: -b 2)characters: -c 3)fields: -d eg:提取第3,4,5,9的字节: ...