Windows下配置apache+php+mysql及常遇问题的解决

来源:互联网 发布:淘宝天使心写真集原版 编辑:程序博客网 时间:2024/05/21 10:38

在这里以PHP5为例介绍一下Windows下Apache和PHP5以及MySQL的安装与配置方法.
一 下载安装程序
Apache可以从http://www.apache.org/dyn/closer.cgi/httpd/binaries/win32/下载
PHP可以从http://www.php.net下载.

MySQL可以从http://www.mysql.com下载
二 安装程序
1、Apache的程序安装相对来说要较为的简单一些,我们从网站下来的是一个Windows下的安装程序,我们可以直接双击运行,这样我们就便利Apache在我们的电脑上安下家来了.

2、我们在这里要注意的就是在下载PHP时一定要下载那个zip包的,而不要下载Installer的.将我们下载下来的PHP包解压到C盘下的根目录下,并将解压出来的文件夹改名为php.

3、Mysql的安装文件可以直接到 http://www.mysql.com 下载,获得for win32的.zip包。
  下载获得Mysql的for win32安装包后,用winzip解压缩,直接运行setup.exe,需要注意的是选择一个安装路径,当然,安装路径可以任意,建议选择C:/MySQL目录。安装完成后MySQL也就完成了。默认的用户名是root,密码为空。

  Mysql安装完成后,请通过开始-程序-附件-命令提示符进入:
  录入cd C:/mysql/bin 并按下回车键,将目录切换为 cd C:/mysql/bin

  在 C:/mysql/bin> 命令提示符下录入 mysqld-nt -install 命令,然后按下回车,如果出现 Service successfully installed 的提示, 这表示你已成功的将 MySQL 安装成一项 Windows 的服务。

  点击 开始-程序-管理工具-服务 ,你可以看到Mysql已经成为众多服务项目中的一项,不过此时它还未被启动, 因此接下来我们就来启动它。

  启动 MySQL 服务的方法有以下三种,请自行选择其中一种来进行:

  重启机器时自动启动它
  在服务窗口中选取 MySQL 服务名称,然后按下启动按钮来启动它
  在“命令提示字符”窗口中输入 NET START MySQL 指令来启动它

  Mysql数据安装完成,系统会默认生成一个名为test的数据库。一般情况下,由于该数据需要用root用户进行访问,从安全性角度而言,我们建议你新建一个数据库,并给这个数据库分配一个新的用户来访问。

  由于Mysql数据库默认的客户端功能比较少,不支持数据库的建立和用户的新增。其他比如Mysql-front等工具带了这些功能,您可以去下载这些工具来使用,当然,你也可以通过以下介绍的命令行方式来新增用户与数据库。

  登录数据库
  “命令提示字符”窗口录入,
  录入cd C:/mysql/bin 并按下回车键,将目录切换为 cd C:/mysql/bin
  再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

  修改密码
  C:/mysql/bin提示符下录入:
  格式:mysqladmin –u用户名 -p旧密码 password 新密码
  例如:给root加个密码ab12。键入以下命令:
  mysqladmin -uroot password ab12

  建立数据库
  格式:create database 库名;
  例如:建立新数据库shopex
  在MYSQL的提示符下:mysql> 录入 create database shopex;

  显示数据库
  格式:show databases;
  注意是databases而不是database

  建立新用户
  格式:grant all privileges on 数据库.* to 用户名@登录主机 identified by "密码";
  例如:增加一个用户test密码为1234,让他只可以在localhost上登录,并可以对数据库Shopex进行所有的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),
  在MYSQL的提示符下:mysql> 录入grant all privileges on shopex.* to test@localhost identified by "1234";

  通过以上操作,你建立一个新的数据库 shopex,并增加了一个名为test对shopex数据库有所有操作权限。

  注意:以上仅仅是简单的Mysql操作命令,如果你需要了解更加详细的资料,请查阅Mysql相关操作说明文档。

三 配置
1 最好是无论使用何种接口(CGI 或者 SAPI)都确保 php5ts.dll 可用,因此必须将此文件放到 Windows 路径中。最好的位置是 Windows 的 system 目录:

c:/windows/system for Windows 9x/ME 
c:/winnt/system32 for Windows NT/2000 或者 c:/winnt40/system32 for Windows NT/2000 服务器版 
c:/windows/system32 for Windows XP

2 下一步是设定有效的 PHP 配置文件,php.ini。压缩包中包括两个 ini 文件,php.ini-dist 和 php.ini-recommended。建议使用 php.ini-recommended,因为此文件对默认设置作了性能和安全上的优化。
将选择的 ini 文件拷贝到 PHP 能够找到的目录下并改名为 php.ini。PHP 默认在 Windows 目录下搜索 php.ini:

3 在 Windows 9x/ME/XP 下将选择的 ini 文件拷贝到 %WINDIR%,通常为 c:/windows。 
在 Windows NT/2000 下将选择的 ini 文件拷贝到 %WINDIR% 或 %SYSTEMROOT% 下,通常为 c:/winnt 或 c:/winnt40 对应于服务器版本。 

4 Apache中PHP的设置
有两种方法使得 PHP 工作在 Windows 下的 Apache。一是使用 CGI 二进制文件,另一是使用 Apache 模块 DLL。无论那种方法,您首先必须停止 Apache 服务器,然后编辑 httpd.conf,以配置 Apache 和 PHP 协同工作。

如果我们要使用CGI二进制文件,那么我们要将如下指令插入到 Apache 的 httpd.conf 配置文件中,以设置 CGI 二进制文件:
 
PHP 以 CGI 方式安装到 Apache 2.0:

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"

如果我们想把 PHP 作为 Apache 2.0 的模块,那么就一定要移动 php4ts.dll 到 winnt/system32(Windows NT/2000)或 windows/system32(Windows XP),覆盖原有文件(如果有的话),对于 PHP 5,这个文件是 php5ts.dll。然后我们要插入如下两行到 httpd.conf 中,以使我们的 PHP 作为 Apache 的 PHP-Module 安装:

PHP 以模块方式安装到 Apache 2.0:

; For PHP 4 do something like this:
LoadModule php4_module "c:/php/php4apache2.dll"
AddType application/x-httpd-php .php

; For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

经过这样的配置以后,我们就安装好了我们的PHP和Apache服务器了.我们可以简单的测试一下:
1 测试Apache:
我们打开浏览器,在地址栏中输入localhost,如果可以出现Apache页面,则说明我们的Apache可以正常工作了.
2测试PHP设置:
我们可以简单的编写一个PHP页面,我们可以用文本编辑器,输入下面的代码:
<html>
<head>
<title>
hello
</title>
</head>
<body>
<?php echo "hello,php"; ?>
</body>
</html>
然后将这个文件存为hello.php,将其放在Apache的htdocs目录中(我们也可以在http.conf文件中来更改这个目录的),然后在我们的浏览器中输入http://localhost/hello.php,如果能够正确的显示hello,php就说明我们的PHP配置是可以正常工作的.
这样以后我们也可以来设计我们的PHP站点了.

5 MySQL的配置:我们可以进行如下的配置来使得PHP支持MySQL

1 )将./php/ext目录下的php_mysql.dll,php_mbstring.dll以及./php目录下的libmql.dll拷贝到system32目录下,这样做的目的是要使得PHP5可以支持MySQL数据库的操作,同时使得MySQL可以支持宽字符的扩展.
2 )用文本编辑器打开Windows目录下的php.ini配置文件,找到extension=php_mbstring.dll及extension=php_mysql.dll两行,将其前面的分号去掉,这样就使得PHP5可以加载这些必须的模块.
经过这样的配置以后,我们就可以在我们的机器上使得PHP5+MySQL可以正常的工作.但是一般情况下,我们常采用图形界面的MySQL数据库管理工具,如phpMyAdmin.这个工具我们可以从http://sourceforge.net处下载得到.下载后将其解压到Apache的DocumentRoot所指的目录下,并将其文件名改为phpMyAdmin(当然了我们也可以不做这样的改动),然后打开其目录下的config.ini.php配置文件:
$cfg['Servers'][$i]['user']            = 'root';
$cfg['Servers'][$i]['password']        = '';
这两行指的是我们访问MySQL数据库时所使用的用户名及密码,在这里填入我们设置的密码后我们就可以通过这个图形界面的管理工具来管理我们的MySQL数据库了.
这时只要我们在我们的浏览器中输入http://localhost/phpMyAdmin.如果页面显示的是管理界面则说明phpMyAdmin可以正常的来为我们工作了.


(注:安装配置的内容主要来自PHP手册,我们可以从PHP后册中得到更多的更详细的内容)

 

安装过程中的常见问题解决方法:

1、Apache安装后提示错误ServerAdmin takes one argument, The email address of the server administrator ,
可以用命令行apache -k install -n Apache2来测试 出现这个错误只要在httpd.conf文件中找到ServerAdmin将其改为ServerAdmin 127.0.0.1便可
2、Apache安装后目录访问不了提示You don't have permission to access / on this server
如果出现上述提示,请修改httpd.conf配置,如下,去掉 Order deny,allow Deny from all
< Directory / >
     Options FollowSymLinks
     AllowOverride None
     Order deny,allow
     Deny from all
< /Directory >
3、输入http://localhost/phpMyAdmin时提示phpMyAdmin“无法载入mysql扩展,请检查PHP配置”

检查PHP配置文件 php.ini
打开PHP所安装目录下的 php.ini 文件,Ctrl+F搜索“php_mysql.dll”,将“;extension=php_mysql.dll”前的“;”删除以取消注释,同时搜索并修改“extension_dir”的值为“php_mysql.dll”文件所在文件夹。即:

extension_dir = "c:/PHP/ext/"
extension=php_mysql.dll

 

原创粉丝点击