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

为了方便管理,先新建一个目录,我把他建在 D 盘下,新建文件夹 Web ,然后把 Apache , PHP , MySQL 全放进去。

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 中的开始脚本,服务器就正常运行了。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

安装 Apache 出现 OS 10013 以一种访问权限不允许的方式做了一个访问套接字的尝试 如下截图: 提示: make_sock: could not bind to address 0.0.0.0:80 这个问题有由于计算机上安装了IIS7,80端口已占用。 打开Apache 的配置文件 Apache安装目录下的conf/htt
php.ini 文件不是经常用到的,突然有一天,你需要修改它了,却不知道他躲在哪里,怎么破? 一般情况下,它会呆在php的安装目录里。 方法/步骤 在你自己的网站目录里,新建一个php文件,写入如下代码 ?php echo phpinfo(); ? 保存,然后在浏览器访问该页面,
报出了 Allowed memory size of 134217728 bytes exhausted 错误,而且重启电脑再次执行仍然是一样。上网查了查,是因为php默认内存限制是128M,所以需要修改php.ini文件。 1、查找到 memory_limit = 128M 这一行,将128M改大点,我这里直接是改成了2048M。
apache web服务器的站点,下载pptx,docx,xlsx文件,却被浏览器当作zip文件保存。 这不是浏览器的问题,而是apache不认docx,pptx,,xlsx等Microsoft Office 2007+的文件格式,而这些文件本身是zip压缩文件,所以被apache当作zip压缩文件发给浏览器了。 做个形
一、查看启动你php的进程的用户是谁。 可以通过在命令行执行:ps -ef | grep php来看。或者在php中执行 echo exec(whoami) 来查看。centos下默认会是nobody。 nobody默认没有任何权限。 此时先自己添加一个用户和组。 /usr/sbin/groupadd xxxx/usr/sbin/user
phpinfo() 功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等信息。 危险等级:中 passthru() 功能描述:允许执行一个外部程序并回显输出,类似于 exec()。 危险等级:高 exec() 功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。 危