TestLink学习一:Windows搭建Apache+MySQL+PHP环境

PHP集成开发环境有很多,如XAMPP、AppServ......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响其他软件,非常方便。

 

安装环境:windowsXP 32

 

一、准备工作-下载所需软件

  • Apache  httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
  • PHP       php-5.3.10-Win32-VC9-x86.zip
  • MySQL   mysql-5.5.28-win32.zip

 (下载php网站:http://tool.php100.com/)

 

二、安装软件

1、安装Apache

注意:Apache服务器的默认是80端口

双击安装,与安装其他Windows软件没有什么区别,在填Server Infomation时,并没有特殊规定,只要输入的信息符合格式即可。

服务器信息可以按照默认配置,如果服务器的80端口没被其他服务器程序占据。可选“for All Users,on Port 80, as a Service—Recommended.”如果仅为当前用户使用,使用8080端口,手动启动,选择“only for the Current User, on Port 8080, when started Manually.”。端口号是可以通过配置文件进行修改的。

安装完成之后出现apache服务管理器,如下图,点击第一个图标

(注意:安装完apache后并没有启动此服务

服务管理列表中有现在可以启动的服务项目,点击“Start”

在浏览器输入http://localhost,如果显示It Works!,表示Apache安装成功。

 

2、安装php

将php-5.3.10-Win32-VC9-x86.zip解压到一个目录即可,本例我放置到了D:\php文件夹下。

 

3、安装MySQL

双击安装,如果需要更改安装目录,则在Choose Setup Type选择Custom

此处选择用户自定义配置

可以更改mysql的安装目录位置,此处保持默认。

完成后勾选”Launch the MySql instance Configuration Wizard”进行MySql的配置。

安装完成后开始配置MySQL,全部保持默认选项即可,但最好把MySQL默认编码改为utf8,在Modify Security Settings选项中设置密码,输入两次密码即可完成,最后点Execute完成配置。

选择配置方式:“Detailed Configuration(手动精确配置)”、”Standard Configuration(标准配置)”,选择“Detailed Configuration”,

选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,一般选择“Server Machine”。 可根据实际情况进行选择。本例使用开发测试类型滴。

选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控,记数用,对MySAM数据类型的支持仅限于non-transactional)”,选择“Transactional Database Only”,本例选择的是通用多功能型。

对InnoDB Tablespace进行配置,就是为InnoDB数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了。使用默认位置。

选择网站的一半mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,选择“Online Transaction Processing(OLTP)”。本例选择第一项,由于只在本机做开发测试工作。

是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库,选择“Enable TCP/IP Networking”是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库,选择“Enable TCP/IP Networking”。

设置数据库语言编码,“Standard Character Set”为西文编码、“Best Support For Multilingualism”为RTF-8编码、“Manual Selected Default Character Set/Collation”为手动设置编码,utf8

”Install As Windows Service”选择安装MySql服务,可自定义服务的名称。

“Include Bin Directory in Windows PATH”是在机器上添加MySql的环境变量。

选择“Modify Security Settings”,可根据实际要求勾选上“Enable root access from remote machines”以便能够从其他机器上访问。

完成配置后点击“Execute”执行配置即可。

MySQL安装完成了。

测试MySQL安装是否成功:

 

三、整合Apache+PHP+MySQL

Apache : 首先修改Apache的配置文件,让Apache支持解析PHP文件。Apache配置文件在Apache安装目录的conf目录下的httpd.conf

1. 让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

 

2. 在配置文件中找到

  DirectoryIndex index.html

改为

  DirectoryIndex index.php index.html

 

3. 修改Apache站点目录,在配置文件中找到(Apache安装的目录不同,显示的值不一样)

  #DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"

改为

  DocumentRoot "D:/php"

再找到

  #<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">

改为

  <Directory "D:/php">  

 

PHP : 把php.ini-development改名为php.ini,作为PHP的配置文件。修改php.ini

1. 设置PHP扩展包的具体目录,找到

; On windows:
; extension_dir = "ext"

改为 (值是ext文件夹的目录)

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

 

2. 开启相应的库功能,找到需要开启的库的所在行

;extension=php_curl.dll

;extension=php_gd2.dll

;extension=php_mbstring.dll

;extension=php_mysql.dll

;extension=php_xmlrpc.dll

去掉前面的分号(注释),即改为

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

extension=php_xmlrpc.dll

      

3. 设置时区,找到

;date.timezone =

 改为

date.timezone = Asia/Shanghai

 

四、验证安装是否成功

配置完成,检测一下配置是否成功。有两种方法可以验证。

第一种:重启Apache,在站点目录下新建文件index.php,输入内容:

<?php
    phpinfo();
?>

打开浏览器输入http://localhost,显示如下内容,则安装成功,并且成功关联MySQL。

 

第二种:在Web根目录下(如 D:\website)建立testdb.php文件内容如下:

<?php   
$link=mysql_connect('localhost','root','123456');   
if(!$link) echo "fail";  
else echo "success";  
mysql_close();  
?>

注意更改连接数据库的地址和root的密码。

用浏览器打开http://localhost/testdb.php 如果输出success就表示PHP、mysql 和apache合作愉快了。

 

 

五、安装过程中遇到的问题

1、地址栏输入http://localhost,显示的IIS页面

原因:IIS与apache默认端口号一样,都是80

解决方法一:把IIS服务停止

解决方法二:修改Apache端口号

 

2、地址栏中输入http://localhost,提示域名解析错误

原因:安装后的apache并未启动

解决方法:启动后即可正常访问。

 

3、启动Apache时报错the requested operation has failed

原因一:80端口占用
例如IIS,另外就是迅雷。我的apache服务器就是被迅雷害得无法启用!

Windows平台查看谁占用了我们的80端口方法:
在windows命令行窗口下执行:
C:\>netstat -aon|findstr "80" 
TCP     127.0.0.1:80         0.0.0.0:0               LISTENING       2448
看到了吗,端口被进程号为2448的进程占用,继续执行下面命令:
C:\>tasklist|findstr "2448" 
thread.exe                     2016 Console                 0     16,064 K
很清楚吧,thread占用了你的端口,Kill it
如果第二步查不到,那就开任务管理器,看哪个进程是2448,然后杀之即可。

如果需要查看其他端口。把 80 改掉即可

原因二:软件冲突
装了某些软件会使apache无法启动如Dr.com 你打开网络连接->TcpIp属性->高级->WINS标签 把netbios的lmhosts对勾去掉,禁用tcp/ip的netbios. 然后再启动应该就可以了。

原因三:httpd.conf配置错误
如果apache的配置文件httpd.conf搞错了,在windows里启动它,会提示the requested operation has failed ,这是比较郁闷的事,因为查错要看个半天。
其实可以用命令行模式启动apache,并带上参数,apache会提示你哪句有误,然后就可以针对性的解决,命令如下: httpd.exe -w -n "Apache2" -k start

还有一种情况
即使你这次启动了,下次你都有可能启动失败
在运行里输入:netsh winsock reset
一会儿cmd会提示你重启,不用理会,现在APACHE已经可以启动了。
其实就是一个winsock的修复 

 

4、如果你Apache安装后服务管理列表中没有出现apache的服务项就说明在安装过程中出现了错误,这时候可以手动进行安装。

解决方法:使用cmd进入C:\Program Files\Apache Software Foundation\Apache2.2\bin这是我本机安装的目录, 并执行httpd -k install命令,提示成功后即可在服务管理列表中看到apache服务。

 

5、httpd.conf的配置时,若php目录下无php5apache2_2.dll,一定是下载的版本不对

 

6、MySQL安装有问题,需要重装,重装时变成无反应,装不了

解决方法:可参考http://www.cnblogs.com/yangxia-test/p/4414397.html

 

7、启动Apache时,提示php startup

解决思路:cmd命令中,输入httpd.exe -w -n "Apache2" -k start ,查看Apache日志,显示以下错

 

apache虽然能运行,但是看见error.log中有httpd.exe: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName这个错误

解决方法:因为DNS没配置好. 如果不想配置DNS, 就在httpd.conf , 在最前加入 ServerName localhost:80 即可.

posted @ 2015-04-10 12:00  阳光温暖了心情  阅读(12174)  评论(2编辑  收藏  举报