Popular Posts

Tuesday, January 4, 2011

Windows7下手动搭建Apache+PHP+MySQL方法记录

Windows7下手动搭建Apache+PHP+MySQL方法记录: "

前言:本地调试 WordPress 主题一直是使用 XAMPP 搭建本地环境,但不知道什么原因,在比较多调用的主题(如CMS类)计算机会出现卡顿现象,查看进程是 Apache 和 MySQL 这2个进程 CPU 占用其高,具体原因不知,主机环境配置我很少折腾,不懂,或许是我主机太老的问题(单核CPU)。


决定:在忍受几个月的缓慢后,决定手动搭建 Apache+PHP+MySQL 试试(也听 jiucool 说他自己也是手动搭建,相当快),经过繁琐的步骤搭建成功后,发觉貌似是比较快点,起码不会卡顿。当然,也许是 RPWT,或者是错觉。不管是啥,用着感觉 OK 就行,此篇文章是用来记录具体步骤的,原理什么的请教 Google 吧,当然你怕 Google 被逼抽风,你可以用百度搜知道的不知道的还是找 Google 吧。


原文参考:http://www.leapsoul.cn/?p=695


测试环境:Windows 7(其他win版本没测试,大体相同)


一、去官方下载需要的代码包、软件包


1. Apache:下载地址,我下载的是 httpd-2.2.17-win32-x86-openssl-0.9.8o.msi


2. PHP:下载地址,我下载的是 php-5.3.4-Win32-VC6-x86.zip


3. MySQL:下载地址,我下载的是 mysql-5.5.8-win32.msi


4. phpMyAdmin:下载地址,我下载的是 phpMyAdmin-3.3.8.1-all-languages.7z


二、安装、解压


1. Apache


主要配置Network Domain、Server Name、Email地址(我依次填的是localhost、localhost、邮箱随意)以及Apache服务的占用端口,默认为80端口,你可以根据需要配置在其他端口,Apache的安装目录你可以使用默认目录或根据需要自行选择安装目录(我安装到 D:\Apache)。


在完成apache服务的安装后,在游览器中输入http://localhost/,出现It’s work!字样,说明Apache服务安装成功了。


2. PHP


只要解压php-5.3.4-Win32-VC6-x86.zip并重名为文件夹为php到某个盘即可完成PHP安装(我是将其解压复制到D盘目录下 D:\php


3. MySQL


点击Mysql安装程序自动安装,在此期间你可以根据需要选择Mysql数据库的安装目录(我安装到 D:\MySQL),MySQL 安装完后会启动向导,你可以先取消,下一部的配置里有说。


三、配置


1. Apache(Apache配置文件httpd.conf在Apache安装目录下的conf文件夹里面)


(1)默认Apache服务器执行WEB主程序的目录为Apache2.2/htdocs,所以当你的WEB主程序目录变更时,我们需要修改相应的Apache配置(我改到D:\localhost\htdocs),即用文本编辑软件打开 httpd.conf


DocumentRoot 'D:/Apache/htdocs'

修改为


DocumentRoot 'D:/localhost/htdocs'

再把


<Directory "D:/Apache/htdocs">

修改为


<Directory "D:/localhost/htdocs">

(2)修改具体的index文件先后顺序,由于配置了PHP功能,当然需要index.php优先执行


找到


DirectoryIndex index.html

修改为


DirectoryIndex index.php index.html

(3)使Apache支持PHP


找到


#LoadModule vhost_alias_module modules/mod_vhost_alias.so

在其下面增加如下内容(注意php的安装路径)


LoadModule php5_module 'd:/php/php5apache2_2.dll'
PHPIniDir 'd:/php'
AddType application/x-httpd-php .php .html .htm

说明:我们在PHP目录下可以看到多个php5apache的DLL文件,由于我们使用的是Apache2.2.17,所以我们当然需要使用php5apache2_2.dll,接着指定PHP的安装目录以及执行的程序扩展名。


2. PHP(配置文件php.ini在PHP安装目录下)


(1)把php.ini-development改名为php.ini,然后用文本编辑器修改php.ini,接下来的步骤都是在php.ini进行的。


(2)找到


; On windows:
; extension_dir = 'ext'

修改为


; On windows:
extension_dir = 'D:/php/ext'

表示指定PHP扩展包的具体目录,以便调用相应的DLL文件。


(3)由于默认PHP并不支持自动连接Mysql,需开启相应的扩展库功能,比如php_mysql.dll等,即将


;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_odbc.dll
;extension=php_xmlrpc.dll

去掉其前面的英文分号(;),如下


extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll

(4)配置PHP的Session功能


在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7上新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,此处我在D:\localhost目录上建立了phpsessiontmp目录,然后在 php.ini配置文件中找到


;session.save_path = '/tmp'

修改为


session.save_path = 'D:/localhost/phpsessiontmp'

(5)配置PHP的文件上传功能


同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要在 Windows 7上建立一个可读写的目录文件夹,此处我在D:\localhost目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中找到


;upload_tmp_dir =

修改为


upload_tmp_dir = 'D:/localhost/phpfileuploadtmp'

(6)修改date.timezone,否则在执行phpinfo时date部分会报错:Warning: phpinfo() [function.phpinfo]…


找到


;date.timezone =

修改为


date.timezone = Asia/Shanghai

3. MySQL


点击开始菜单下Mysql Server5.5菜单中的Mysql Server Instance Config Wizard,完成Mysql的配置向导。


(1)点击 Next> 后出现3个选项:选择Mysql服务器的类型

Developer Machine

Server Machine

Dedicated MySQL Machine

我选第2个“Server Machine”


(2)然后又是3个选项:Mysql数据库用途

Multifunctional Database

Transactional Database Only

Non-Transactional Database Only

我选第1个“Multifunctional Database”


(3)选择Mysql数据库的并发连接数

Decision Support (DSS)/OLAP:最大20个连接并发数

Online Transaction Processing(OLTP):最大500个并发连接数

Manual Setting:自定义

我选自定义,设置为50


(4)选择Mysql服务的端口号,一般默认即可


(5)选择Mysql数据库的字符集(推荐使用UTF8,比较通用,否则容易造成乱码。)

Standard Character Set

Best Support For Multilingualism

Manual Selected Default Character Set / Collation

我选“Manual Selected Default Character Set / Collation”,然后在 Character Set 选择 utf8


(6)设置Mysql为Windows服务

在这里考虑开机速度的问题,我将自动登录Mysql服务取消了,一般你可以选择此选项,如果没有选,你可以使用net start mysql启动Mysql服务(停止就是net stop mysql)。

我的选择是“Install AS Windows Service”和“Include Bin Directory in Windows PATH”勾选,“Launch the MySQL Server automatically”去掉勾选


(7)设置Mysql数据库root用户的密码


(8)执行Mysql服务配置选项


Mysql数据库的配置文件保存在D:\MySQL\my.ini,如果今后有什么变动,你可以修改此文件。


四、测试


0. 重新启动 Apache(系统托盘点击 Apache 图标》Apache 2.2》Restart)


1. 在 D:\localhost\htdocs 建立 index.php,输入如下内容


<?php
phpinfo();
?>

然后在游览器中输入http://localhost,就可以看到PHP的具体配置页面了


2. 修改 index.php 为如下内容


<?php
$connect=mysql_connect("127.0.0.1","root","你的mysql数据库密码");
if(!$connect) echo "Mysql Connect Error!";
else echo "MySQL OK!";
mysql_close();
?>

然后在游览器中输入http://localhost/,看到:“MySQL OK!”字样就说明PHP连接Mysql就算成功了。


五、安装数据库管理 phpMyAdmin


把下载回来的 phpMyAdmin-3.3.8.1-all-languages.7z 解压到 D:\localhost\htdocs 目录下,重新命名为 phpmyadmin,这样你就可以用 http://localhost/phpmyadmin 进入 phpmyadmin 管理界面了


这样 Apache+PHP+MySQL 环境就搭建完毕,你可以正常安装 WordPress了,不过要完美还要继续看下面的第六步。


六、问题与解决


1. 在Windows 7中PHP连接Mysql时默认只能使用IP地址连接Mysql,而无法使用localhost连接Mysql,解决方法为打开C:\Windows\System32\drivers\etc下的hosts文件,将


#   127.0.0.1       localhost

前面的注释 # 去掉


2. 在使用phpmyadmin导入数据库时,如果你的数据库大于2M(phpmyadmin默认为2M),那么会导入错误,这时我们要更改配置,打开 php.ini,那么更改如下几处:


file_uploads on(是否允许通过HTTP上传文件的开关。默认为ON即是开)

upload_tmp_dir   --(文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹,上面步骤已经设置了)

upload_max_filesize 30m(望文生意,即允许上传文件大小的最大值。默认为2M)

post_max_size 50m(指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M)

max_execution_time 300(每个PHP页面运行的最大时间值(秒),默认30秒)

max_input_time 300 (每个PHP页面接收数据所需的最大时间,默认60秒)

memory_limit 128m(每个PHP页面所吃掉的最大内存,默认8M,如果你机子的内存足够大的话,还可以设置大点儿)


3. 安装好 WordPress 后,如果你重新定义了永久链接,你会发现无效,那么继续如下操作:


打开 httpd.conf


1. 找到 LoadModule rewrite_module 去掉前面的 #

2. AllowOverride None 改为 AllowOverride All


保存后重启 Apache


七、一些个人喜好


1. 默认下 Apache 是跟随 Windows 一起启动的,你可以在“菜单》运行》msconfig》启动》找到 Apache HTTP Server去掉前面的勾

补充:这样还不够,还要去掉Apache2.2服务,右键“计算机”》“管理”》“服务和应用程序”》“服务”,找到“Apache2.2”这个名称的服务,把启动类型选为“手动”


2. 如果你安装我上面所说的去掉了 MySQL 的自动启动,老是用命令启动/关闭 MySQL 会很麻烦,那么你可以写批处理(bat)解决


新建一个文本文件,内容如下:

net start mysql

然后重新命名为 MySQL-Start.bat(注意扩展名),把这个文件放到桌面直接点击就启动 MySQL 了。


同理新建一个文本文件,内容如下:

net stop mysql

然后重新命名为 MySQL-Stop.bat(注意扩展名),把这个文件放到桌面直接点击就关闭 MySQL 了。


终于写完了,虽然部分内容来自文章开头的“原文参考”,而且我还没贴图,都感觉很累,教程什么的最累人了。


另外:有些步骤我是凭记忆敲的,不知道有没有错误,如果有朋友根据我这篇文章折腾,有什么问题在评论里提出并讨论。


声明: 本文采用 BY-NC-SA 协议进行授权 | ZWWoOoOo
转载请注明转自《Windows7下手动搭建Apache+PHP+MySQL方法记录

"

No comments:

Post a Comment