Apache+php+mysql的安装与配置(在Win7下亲测成功)

刚接触php,折腾一整天弄这个开发环境,各种错误,不过最终还是完成了,所以分享下这个过程。

1 安装前准备

1.1 【Apache官方下载

->downloading the Apache HTTP Server

->Stable Release - Latest Version:

·    2.4.2 (released 2012-04-17)

->the latest available version下面若没有win32的包,可去上一个版本里下载,如“Win32 Source:httpd-2.2.22-win32-src.zip”

 

1.2 【php官方下载

->找到VC6 x86 Thread Safe下载zip, 如“php-5.2.10-Win32.zip”,建议下载可解压的zip格式而不是msi

->php版本后面一般有VC6和VC9、Thread Safe和Non Thread Safe的区别,VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的,VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的,如果你选用的是Apache或者其他服务软件,那么选择VC6,选用的是IIS的话,那么请下载VC9的。Thread Safe 是线程安全,而Non Thread Safe就是非线程安全, 官方并不建议你将Non Thread Safe 应用于生产环境,所以一般选择Thread Safe版本的下载就可以了。下载Zip包就可以了。

 

1.3 【mysql官方下载

->根据你的系统是64位还是32位选择下载,如32位就是“Windows (x86, 32-bit), MSI Installer

 

2 安装开始

2.1 安装Apache

  打开.msi安装文件,一步一步执行,很容易安装成功。

  注意的点:

  1)设置系统信息,在Network Domain下填入您的域名(比如:mydomain.com),在Server Name下填入您的服务器名称(比如:www.mydomain.com,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:[email protected]),上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。

  2)选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Custom。next后出现选择安装选项界面,左键点选“Apache HTTP Server 2.0.55”,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。

  3)安装向导成功完成,这时右下角状态栏应该出现了一个绿色图标,表示Apache服务已经开始运行。在IE地址栏打开“http://127.0.0.1”,看到页面上显示:“It works!”,表示Apache服务器已安装成功。

  4)安装目录下的Apache2\htdocs文件夹就是网站的默认根目录,在里面放入文件就可以了。熟悉配置文件httpd.conf的位置:“开始”->“所有程序”->“Apache HTTP Server 2.2”->“Configure Apache Server”->“Edit the Apache httpd.conf Configuration file”->点击打开。

  可选配置:

  打开httpd.conf文件,查找“DocumentRoot”,在此可更改网站根目录,格式如:

  DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"   注意语句前面不要有#

  好了,简单的Apache配置就到此结束了,现在利用先前的小图标重启动,所有的配置就生效了,你的网站就成了一个网站服务器,如果你加载了防火墙,请打开80或8080端口,或者允许Apache程序访问网络,否则别人不能访问。如果你有公网IP(一般ADSL或电话拨号上网的都是),就可以邀请所有能上网的朋友访问使用http://你的IP地址(IP地址查询可访问www.ip138.com)你的网站了;如果你没有公网IP,也可以把内网IP地址告诉局域网内的其它用户,让他们通过http://你的内网IP地址,访问你的网站。

 

2.2 安装php

  ->解压你的php文件如“php-5.2.10-Win32.zip”,不要安装,在D盘建立一个目录“php”,直接把php-5.2.10-Win32.zip拷到D:\php,解压,也就是php-5.2.10-Win32.zip里的内容全部解压到了D:\php中

  ->找到“php.ini-dist”改名为“php.ini”

 

2.3 安装mysql

1)打开安装文件,弹出安装向导对话框,点击next进行下一步设置。
2)选择安装类型,三种:typical(默认),complete(完全安装),和custom.(自定义安装)建议选择用custom。点击next进入下一步
3)自定义安装设置。在“Developer Components(开发者部分)”上的黑色下拉三角处左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分及其所属部分全部安装”。上面的“MySQL Server(mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation(文档)”操作相同,以保证安装所有文件。如果要更改安装目录,点选“Change...”,可以手动指定安装目录。点击next进入下一步设置
4)确认设置。此处显示前面的设置信息,确认后点击install进行安装。如果要更改请点击back,返回上一层进行更改。
5)mysql.com的帐户注册对话框。三种选择,creat a new free mysql.com accout(创建一个新的帐户);login toi mysql.com (输入mysql.com的帐户,前提你已经有了。);skip sign-up(跳过),一般选择跳过。点击next。
6)安装完成。点击finish进入安装配置向导。前提是已经选种configer the mysql server now.在弹出的配置向导对话框中,点击next。
7)选择mysql的配置方式。两种:detailed configuration(精确安装);standard configuration(标准安装)。点击next。
8)..服务器类型选择。三种:developer machine(开发类);server machine (服务器类);dedicated mysql server machine (数据库服务器),这里我选择的是第二种。点击next。
9)选择数据库的应用。三种:multifunctional database(多功能数据库);transactional database(事务处理型数据库); non-transactional database only(非事务处理型数据库)。我选择的为第二种,选择后点击next。
10)为InnoDB数据库文件选择一个存储空间。如果修改了,要记住位置,重装的时候要选择同一个地方,否则可能会造成数据库损坏。可以选择对数据库做备份。我使用默认位置,直接按“Next”继续。
11)选择网站服务器在线时候的同时连接数。三种:Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我选的第二种,按“Next”继续。
12)网络设置。我未做更改,选择使用的为默认设置。Enable tcp/ip networking启用tcp/ip连接。端口默认为3306。Enable strict mode启用严格模式。点击“next”继续。
13)默认数据库语言编码设置。三种:standard character set(标准的,英文编码);best support for multilingualism(多种语言的编码); manual selected default character set/collation(手动设置默认的语言)。在这里我们选择第三种,并在选择语言的下拉菜单中选择gbk或者是gb2312。点击next继续。
14)Windows选项。Install as windows server (选择安装设置为windows服务)。Include bin directory in windows path(将mysq的bin目录加入到windows的系统路径下)。全选后点击next继续。
15)设置密码选项。默认用户名为root,填写密码在new root password , confirm(确认密码)。Enable root access from remote machine(启用root可以进行远程访问)。Create An Anonymous Account(新建一个匿名用户)匿名用户可以连接数据库,不能操作数据,包括查询,一般不勾,设置完毕,按“Next”继续。
16)确认设置界面。确认无误后,点选“execute”使设置生效。
17)设置完毕后,点击finish完成设置

 

3 全部配置

  配置主要都在这两个文件里进行修改:“php.ini”和“httpd.conf”   ,先打开。

3.1 php.ini

   ->查找“extension=php_mysql.dll”。将其前面的分号去。此处为加载mysql模块。你可以看到许多这样类型的语句。去掉其前面的分号就是将其加载。
   ->查找“extension_dir = "./"”,改为

extension_dir = "D:/php/ext"

  可选配置:

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

  extension=php_curl.dll //CURL,客户端 URL 库函数库
  extension=php_gd2.dll //GD绘图函数模块
  extension=php_mbstring.dll //多字节函数模块
  extension=php_mysql.dll //MySql函数模块
  extension=php_mysqli.dll //MySqli函数模块
  extension=php_pdo_mysql.dll //PDO MySql函数模块
  extension=php_pdo_odbc.dll //PDO ODBC函数模块
  extension=php_xmlrpc.dll //XML-RPC函数库
  extension=php_xsl.dll //XSL函数模块
  这些extension之前的分号(;)去除。

  ->配置PHP的Session功能

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

;session.save_path = "/tmp"

修改为:

session.save_path = "D:/phpsessiontmp"
  ->配置PHP的文件上传功能

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

  ;upload_tmp_dir =

  修改为:

  upload_tmp_dir = "D:/phpfileuploadtmp"
  ->修改date.timezone,否则在执行phpinfo时date部分会报错:

  Warning: phpinfo() [function.phpinfo]…

  找到:

  ;date.timezone =
  修改为:
  date.timezone = Asia/Shanghai

 

3.2 httpd.conf

  ->将php以module方式与Apache相结合,使php融入Apache,Ctrl+F搜索“LoadModule ssl_module”,在此行下面另起一行,输入

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

PHPIniDir "D:/php"

  第一行是指以module方式加载php,第二行是指明php的配置文件php.ini的位置。
  ->搜索“AddType application/x-gzip .tgz”,在此行下面另起一行,输入

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程序。
  保存更改并重新启动Apache。

 

3.3 环境变量

  在系统变量的path里加上“;D:\mysql\bin;D:\php;D:\php\ext”。具体路径设置根据你自己设的写,这里只是样式格式。

 

4 测试

  ->编写这样的一段代码存储到你的web根目录中。命名为phptest.php.代码如下

<?php echo phpinfo(); ?>

  打开IE浏览器输入:http://127.0.0.1/phptest.php如果你可以看到php的有关信息证明已经配置成功。至此,php可以和apache关联了。

  ->测试三者连接正常,编写代码如下:

<?php

$con = mysql_connect("localhost","root","123456");

if (!$con){

	die('Could not connect: ' . mysql_error());

}else

{

	echo "success";

}

mysql_close();

?>

  

  MySQL_connect(’MySQL服务器名’,'MySQL用户名’,'密码’);根据自己的情况写。
  保存为mysqltest.php。保存在web根目录下。打开IE浏览器输入:http://127.0.0.1/mysqltest.php,显示ok即配置成功了。

  至此,所有的工作完成。

 

5 问题集锦

  问:连接mysql的程序在浏览器中执行后,报错:Fatal error: Call to undefined function mysql_connect()...或者无法显示该网页
  答:可能 在LoadModule php5_module "D:/php/php5apache2_2.dll" 下面忘记写如下语句:PHPIniDir "D:/php"
    可能 将php_mysql.dll和libmysql.dll文件拷贝至C:/windows/system32中

  问:安装mysql最后一步时,到startservice的时候未响应出错

  答:可能 在mysql的安装文件中找到my-small.ini这个文件,复制一份,然后重命名为:my.ini,在新my.ini的最后加上:

    [mysqld]
    #设置basedir指向mysql的安装路径(从my.ini复制下面两行代码)
    basedir="..."
    datadir="..."
    点点点里面的内容在旧my.ini中找,然后把新my.ini替换掉旧my.ini

    可能 彻底删除残留物后重新安装

    1). 在添加删除程序删除旧版的MYSQL,删除安装目录及数据存放目录

    2). 清理注册表:

    A.HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL 目录

    B.HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL 目录

    C.HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL 目录

    D.HKEY_LOCAL_MACHINE/SYSTEM/CurrentControl001t/Services/MYSQL 目录

    E.HKEY_LOCAL_MACHINE/SYSTEM/CurrentControl002/Services/MYSQL  目录

    F.HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MYSQL  目录

    在注册表查询mysql,全部删除,清理的时候要注意把隐藏的文件夹显示出来

    3). 删除C:\ProgramData\MySQL 目录,在C盘查询MySQL,全部删除

    4). 重新安装新版MYSQL

  问:Apache无法启动 the requested operation has failed

  答:可能 80端口被占,换端口

    可能 httpd.conf配置文件错误

    进入cmd然后进入Apache安装目录,执行以下操作:

cd C:\Program Files\Apache Software Foundation\Apache2.2\bin

httpd.exe -w -n "Apache2.2" -k start

    哪一行有错误都会提示。

    可能 你是用的安装版安装的php,我就是这个情况,换成zip直接解压的php后没有这个问题了。

  问:安装php5时 Error trying access httpd.conf file.You will need to manually configure

  答:可能 我觉得可能是本来它会自动进入httpd.conf 帮你修改一些配置,但是找不到路径

    可能 换zip不安装的php

  问:测试mysql_connect时打开localhost/phptest.php,页面打不开一直等待中,过一会加载完毕什么都没有

  答:修改hosts,加上127.0.0.1 localhost

你可能感兴趣的:(apache)