windows下配置Apache+PHP+MySQL绿色移动版

 更新时间:2016年1月27日 20:16  点击:1469

Apache 下载地址 http://httpd.apache.org/

我下载的是 Apache HTTP Server (httpd) 2.2.17 点击 download ,选择

  httpd-2.2.17-win32-x86-openssl-0.9.8o.msi

当然,你也可以下载源代码 httpd-2.2.17-win32-src.zip ,不过需要自己编译。

(我们第一次选择安装版,然后配置好,以后就可以在任何地方使用了)

PHP 下载地址 http://windows.php.net/download/

下载的时候有几个不同版本选择:

VC9 x86 Non Thread Safe 
VC9 x86 Thread Safe 
VC6 x86 Non Thread Safe 
VC6 x86 Thread Safe 

关于 VC9 VC6 的区别:
VC6
就是 legacy Visual Studio 6 compiler ,就是使用这个编译器编译的
VC9
就是 the Visual Studio 2008 compiler ,就是用微软的 VS 编辑器编译的
如果你是在 windows 下使用 Apache+PHP 的,请选择 VC6 版本;
如果你是在 windows 下使用 IIS+PHP 的,请选择 VC9 版本;
Non Thread Safe 就是非线程安全; Thread Safe 是线程安全的意思
官方并不建议将 Non Thread Safe 应用于生产环境,所以这里我下载的是:

VC6 x86 Thread Safe 

MySQL 下载地址 http://dev.mysql.com/downloads/mysql/

上面有各种不同版本 ,我们 主要是这两个:


上面那个表示需要安装,在安装过程中自己配置。

下面这个比较大,但是免安装的,但需要手动启动。

为了打造完全绿色的,这里我下载 noinstall 的。

 

下面开始配置服务器:

服务器 Apache+MySQL+PHP 其实先配置那个都可以,不过为了省多次修改的麻烦,我们安装 PHP->MySQL->Apache 的顺序来进行。

配置 PHP

把下载下来的 php-5.3.3-Win32-VC6-x86.zip 解压到 D:\Web\ 下,文件夹改名为 php ,然后把里面的“ php.ini-development ”文件(此处不同版本可能有所不同,可安装情况进行),将其重命名为“ php.ini ”,打开编辑,找到“ register_globals = Off ”值,这个值是用来打开全局变量的,比如表单送过来的值,如果这个值设为“ Off ”,就只能用“ $_POST[' 变量名 '] $_GET[' 变量名 '] ”等来取得送过来的值,如果设为“ On ”,就可以直接使用“ $ 变量名”来获取送过来的值,当然,设为“ Off ”就比较安全,不会让人轻易将网页间传送的数据截取。这个值是否改成“ On ”就看自己感觉了,是安全重要还是方便重要。


这里还有一个地方要编辑,功能就是使php 能够直接调用其它模块,比如访问mysql ,如下图所示,选择要加载的模块,去掉前面的 “; ”,就表示要加载此模块了,加载的越多,占用的资源也就多一点,不过也多不到哪去,比如我要用mysql ,就要把“;extension= php_mysql .dll ”前的“; ”去掉。所有的模块文件都放在php 解压缩目录的“ext ”之下。下图只是参考,编辑好后保存,关闭。


如果上一步加载了其它模块,就要指明模块的位置,否则重启Apache 的时候会提示“找不到指定模块”的错误。有两种方式可以解决这个问题,一种是把D:\Web\php\ext,D:\Web\php 加入到系统的环境变量Path 中去;还有一种方法是在php.ini 中到“extension_dir ”把其改为模块路径, 如图:


    还有一个地方需要注意一下,搜索[Date] 标签下,增加一句 date.timezone = Asia/Shanghai ,这主要是为了设置系统时区。


于是乎,PHP 配置完成。

配置MySQL

将下载的mysql-noinstall-5.1.51-win32.zip 解压到D:\Web\ 下面,改名为mysql, 然后拷贝两个脚本StartMySQL.bat (安装和启动服务)和StopMySQL.bat (关闭和卸载服务)进去, 以后需要的时候只要点击StartMySQL.bat ,不需要的时候点击StopMySQL.bat ,关于脚本的内容,查看 http://blog.csdn.net/blpluto/archive/2010/06/18/5677457.aspx 或是 点击这里 下载我已经做好的脚本。


这里可能会出现比较常见的错误,就是不能“Start service ”,一般出现在以前有安装mysql 的服务器上,解决的办法,先保证以前安装的mysql 服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql 安装目录下的data 文件夹备份,然后删除,在安装完成后,将安装生成的 data 文件夹删除,备份的data 文件夹移回来,再重启mysql 服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。

此处要注意,如果需要MySQL与Apachephp 相结合,一定要把前面所说的 PHP.ini ;extension=php_mysql.dll ”前的“; ”去掉,加载mysql 模块。

配置Apache

点击下载完成的 httpd-2.2.17-win32-x86-openssl-0.9.8o.msi 一路next ,下图的参数可以随便填写,也可以再httpd.conf 中以后设置。


然后安装路径选择D:\Web\Apache


之后的一路next ,中间会出现安装的控制台闪过。

现在开始先将 php module 方式与 Apache 相结合,使 php 融入 Apache 。如图所示,“开始”、“所有程序”、“ Apache HTTP Server 2.2 ”、“ Configure Apache Server ”、“ Edit the Apache httpd conf Configuration file ”,点击打开。


或者在安装好的Apache 文件夹下打开文件D:\Web\Apache\conf\httpd.conf 查找关键字“DocumentRoot ”(也就是网站根目录),找到如下图所示地方,然后将"" 内的地址改成你的网站根目录,地址格式如图,主要是一般文件地址的“\ ”在Apache 里要改成“/ ”(现在的新版本貌似不需要改了,不过还是检查一下为好)。


然后再查找“Directory ”,将它的值成跟DocumentRoot 的一样。如图:


这里有一个选择配置选项,以前可能要配置,现在好像修正过来了,不用配置了,就是强制所有输出文件的语言编码,html 文件里有语言标记(这个就是设定文档语言为gb2312 )的也会强制转换。如果打开的网页出现乱码,请先检查网页内有没有上述 html 语言标记,如果没有,添加上去就能正常显示了。在“D:\Web\Apache\conf\extra “下有一个文件叫httpd-languages.conf (可能有的版本不一样,有的版本就在httpd.conf 中),打开编辑,然后找到“# DefaultLanguage nl ”,把前面的注释“# ”去掉,把“nl ”改成你要强制输出的语言,中文是“zh-cn ”,保存,关闭。


下面整合ApachePHP ,我们module 方式加载php 。在httpd.conf 中搜索“LoadModule ”,在最下面添加两行PHP 信息:

LoadModule php5_module "D:/Web/php/php5apache2_2.dll"

PHPIniDir "D:/Web/php"

第一行应该注意, 很多地方是调用 php5apache2.dll ,这样在运行 PHP 代码时会提示 httpd.exe 应用程序错误; 第二行“PHPIniDir "D:/Web/php" ”是指明php 的配置文件php.ini 的位置。


然后搜索“AddType application ”,加入“ AddType application /x-httpd-php .php ”、“AddType application/x-httpd-php .html ”两行,你也可以加入更多,实质就是添加可以执行php 的文件类型,比如你再加上一行“AddType application/x-httpd-php .htm ”,则.htm 文件也可以执行php 程序了,你甚至还可以添加上一行“AddType application/x-httpd-php .txt ”,让普通的文本 文件格式 也能运行php 程序。


然后更改目录默认索引文件,因为现在加了php ,有些文件就直接存为.php 了,我们也可以把“index.php ”设为默认索引文件,优先顺序就自己排了,为了先让他运行,我把index.php 设为第一位。编辑完成,保存,关闭。


至此,php 的安装,与Apache 的结合已经全部完成,由于他们于MySQL 的支持在前面配置PHP 的时候已经处理,所以,如果以上操作没有问题的话,我们的服务器已经可以正常运行了。点击桌面右下角的小图标重启服务器,所有的配置就生效了。以后,你可以把你写好的网页放入“D:\Web\Apache\htdocs “中,就可以直接访问量。如图:


(右键点击打开面板)


(左键快捷操作)

现在测试一下:在浏览器中输入 http://127.0.0.1 ,如果可以看到如下页面(有的版本可能不一样),说明你的 Apache 已经配置正确:


然后写一小段代码:

复制代码 代码如下:

<?php
date_default_timezone_set("PRC");
echo date("Y-m-d JS F");
echo '</p>';
echo date('H:i:s');
echo '</p>';
?>

另存为 index.php, 放入“ D:\Web\Apache\htdocs “中,再在浏览器中敲入 http://127.0.0.1 或者是 http://127.0.0.1/index.php ,之后,如果显示页面如下:说明你的 PHP Apache 运行正常了:


要注意的是,如果你加载了防火墙,请打开808080 端口,或者允许Apache 程序访问网络,否则别人不能访问。 如果你有公网 IP (一般 ADSL 或电话拨号上网的都是),就可以邀请所有能上网的朋友访问使用 http:// 你的 IP 地址( IP 地址查询可访问 http://www.goodwaiter.com ,查询内容内即是)你的网站了;如果你没有公网 IP ,也可以把内网 IP 地址告诉局域网内的其它用户,让他们通过 http:// 你的内网 IP 地址,访问你的网站。

下面来制作它们的启动和停止脚本。

MySQL 的脚本在前面配置的时候已经说明,此处不再细说。主要说 Apache 的脚本。

Apache 目录下新建一文本文件,在里面输入如下内容:

复制代码 代码如下:

@ECHO off
"%cd%\bin\httpd.exe" -k install -n apache2.2
net start apache2.2
pause
@ECHO on

然后保存为 StartApache.bat 。 然后再新建一文件,输入如下内容:
复制代码 代码如下:

@ECHO off
net stop apache2.2
"%cd%\bin\httpd.exe" -k uninstall
pause
@ECHO on

然后保存为 StopApache.bat 。

以后,只要在需要运行的时候,点击 StartApache.bat ,就可以开启 Apache 服务,在不需要的时候,点击 StopApache.bat 就可以卸载服务,即使重装系统,也不会受到影响。

当然,你还可以把这两个脚本写在一个脚本文件中,比较简单,此处不在细说。

至此,移动版服务器创建完成。如果需要一个完整的包括 Apache+MySQL+PHP 的,只要拷贝如上做好的 Web 文件夹,然后放在 D 盘根目录下(这个盘也可以变动,只需要修改 httpd.conf 中的所以涉及到路径的地方就可以了,可通过查找替换完成),然后分别点击 MySQL 的开始脚本, Apache 中的开始脚本,服务器就正常运行了。

[!--infotagslink--]

相关文章

  • MySQL性能监控软件Nagios的安装及配置教程

    这篇文章主要介绍了MySQL性能监控软件Nagios的安装及配置教程,这里以CentOS操作系统为环境进行演示,需要的朋友可以参考下...2015-12-14
  • Apache启动报错No space left on device: AH00023该怎么解决

    Apache启动报错No space left on device: AH00023错误可能是进程导致了,虽然小编不知道什么原因但网上提供的解决办法确实是可以解决我们的问题,下面来看看。对于这类错误是因为linux系统的ipc信号量造成的,apache启动时...2015-10-21
  • apache配置黑名单和白名单及账户权限控制

    本文我们将分享apache配置黑名单和白名单,apache层的账户权限控制,以及apache黑名单白名单过滤功能,apache rewrite规则实现白名单。 apache配置黑名单和白名单的两...2016-09-14
  • linux下源码安装mysql5.6.20教程

    这篇文章主要为大家详细介绍了linux下源码安装mysql5.6.20教程的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-15
  • golang与php实现计算两个经纬度之间距离的方法

    这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下...2016-07-29
  • apache开启gzip详解教程

    今天在用百度工具检测时发,发现有个提示如下 原来可以开启gzip啊,因为我的是apache所以和iis不同,经过网站搜索开启方法如下 一,找到你的httpd.conf文件,打开找到如下 ...2016-01-28
  • 通过node-mysql搭建Windows+Node.js+MySQL环境的教程

    这篇文章主要介绍了通过node-mysql搭建Windows+Node.js+MySQL环境的教程,node-mysql是JavaScript编写的一个Node的MySQL驱动,需要的朋友可以参考下...2016-03-03
  • 解决PHPstudy Apache无法启动的问题【亲测有效】

    这篇文章主要介绍了PHPstudy Apache无法启动的问题及解决方法【亲测有效】,本文给大家总结了三种方法供大家参考,需要的朋友可以参考下...2020-10-30
  • apache http server遇到了一个问题,需要关闭

    重装系统后,重新安装了xamp,最近启动的时候经常报apache http server遇到了一个问题,需要关闭,显示如图: 解决方法:查看szModName报错的模块,然后把PHP安装目录下对应的模块...2016-01-28
  • Windows Server 2016 上配置 APACHE+SSL+PHP+perl的教程详解

    Windows Server 2016 上配置 APACHE+SSL+PHP+perl怎么配置?小编推荐了一篇介绍Windows Server 2016 上配置 APACHE+SSL+PHP+perl的教程,有需要的同学快来看看吧! ...2017-07-06
  • Mac下安装mysql5.7 完整步骤(图文详解)

    本篇文章主要介绍了Mac下安装mysql5.7 完整步骤,具有一定的参考价值,有兴趣的可以了解一下,...2017-01-26
  • Linux CentOS MySQL数据库安装配置教程

    这篇文章主要为大家详细介绍了Linux CentOS MySQL数据库的安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-05-19
  • nginx+apache+mysql+php+memcached+squid搭建集群web环境

    当前,LAMP开发模式是WEB开发的首选,如何搭建一个高效、可靠、稳定的WEB服务器一直是个热门主题,本文就是这个主题的一次尝试。...2016-01-27
  • jQuery+PHP+MySQL实现无限级联下拉框效果

    这篇文章主要介绍了jQuery+PHP+MySQL实现无限级联效果的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-02-21
  • 在windows10上安装mysql详细图文教程

    这篇文章主要介绍了在windows10上安装mysql详细图文教程,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧...2016-09-18
  • 如何修改Xampp服务器上的mysql密码(图解)

    如果我们使用Xampp服务器自带数据库mysql,就必须先修改mysql的密码,下面小编给大家分享如何修改Xampp服务器上的mysql密码,需要的朋友参考下吧...2017-04-26
  • 隐藏Nginx或Apache以及PHP的版本号的方法

    这篇文章主要介绍了隐藏Nginx或Apache以及PHP的版本号的方法,主要用来防止针对性的漏洞攻击,需要的朋友可以参考下...2016-01-05
  • win7下MySql 5.7安装配置方法图文教程

    这篇文章主要为大家分享了win7下MySql 5.7安装配置方法图文教程,感兴趣的小伙伴们可以参考一下...2016-05-20
  • linux上mysql安装详细教程

    这篇文章主要为大家详细介绍了linux上mysql安装详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-02-08
  • ubuntu系统中安装mysql5.6(通过二进制)

    今天工作中需要对一台ubantu的系统安装mysql,因为以前一直使用的是centos,虽然它也是类unix但是和redhat或centos命令上还是有点差别。所以通过网上查阅资料,终于安装成功了,现在将步骤分享给大家,有需要的朋友们可以参考借鉴。...2016-10-20