近日在XP下配置php,在配置过程中遇到很多问题,搞定之后,总结如下: 1.下载如下程序,都是免费的,在官方网站都有下 apache_2.0.50-win32-x86-no_ssl.msi mysql-4.0.20d-win php-4.3.8-installer.exe 注:php有zip压缩的和install的两种版本,强烈建议使用install的版本,否则有时配置完全正确的情况下,apache还是找不到php。 2.安装 1)先安装mysql,然后安装apache,最后安装php,因为php安装时有个选择服务器的设置。 mysql安装之后,执行安装目录下bin目录中的winmysqladmin.exe,会提示输入超级用户名和密码,填写即可,然后在右下角托盘右键菜单中选择Install srevice,然后start service即可。 2)apache的安装配置过程中要填写域名之类的地方都可以随便添,因为以后在httpd.conf中都可以改,我都填的是localhost。安装快结束的时候,它会自动配置脚本,但是如果你的机子上装了IIS,都用的80端口,会提示失败,不过没关系,后面配置的时候改端口就行了。 3)php安装的时候选择apache作服务器,另外安装的路径写简单些,如D:\php,要是放在program files这样的目录中,有可能在使用的时候会崩溃。 3.配置 1)mysql没有什么好说得,启动服务就能用了。 2)打开apache安装路径下的CONF目录,找httpd.conf文件,用文本编辑器打开,修改如下: 把 #Listen 12.34.56.78:80 Listen 80 改成 #Listen 12.34.56.78:8080 Listen 8080 把 #ScriptAlias /cgi-bin/ "D:/Program Files/Apache Group/Apache2/cgi-bin/" 注释掉 改成 ScriptAlias /php/ "D:/php/" AddType application/x-httpd-php .php (如果要支持更多的扩展名,可以添加多行,如AddType application/x-httpd-php .php3) Action application/x-httpd-php "/php/php.exe 注意:反斜杠 把 ServerName localhost:80 改成 ServerName localhost:8080 如果你是用的英文版,想要支持中文 在配置文件中找包含“AddLanguage”或“AddCharset”的行,在这些行最前面增加一行: AddDefaultCharset GB2312 注:中文版的已经有AddCharset ISO-2022-CN .iso2022-cn .cis这行了,所以不用加。 apache安装完后默认的虚拟路径是安装目录下的htdocs目录,如果要将其它目录设为虚拟路径,参考最后的附录。 3)将php安装目录中的php4ts.dll拷贝到system32目录下,如XP中拷贝到c:\windows\system32; 然后将BACKUP目录下的PHP.INI拷贝到windows目录中,用文本编辑器打开它, 查找 [MySQL] 字段内的内容.修改如下. mysql.default_port = 3306 // 这里是MYSQL的端口. mysql.default_host = localhost // 这里是本地主机. mysql.default_user = root // 这里是超级用户 mysql.default_password = 123456 // 这里是超级用户密码 修改到这里就可以让 Php 与 MYSQL 关联了. 最后启动 PHP 对 MYSQL 模块支持. 查找 ;extension=php_mysql.dll 字串.删除掉前面的 ; 号,变成 extension=php_mysql.dll 然后找到doc_root字段,填入apache的虚拟路径 doc_root =D:\Program Files\Apache Group\Apache2\htdocs 4.运行 重启apache,在htdocs目录中放一个PHP文件,如a.php 然后在IE中输入http://localhost:8080/a.php就可以看见内容了。 5.附录:如何改变默认的虚拟路径。 首先我們要在 c:\web\ 下新增目录,例如www 然后在httpd.conf 中作如下改动即可: ---------改动前------------- DocumentRoot "C:/web/Apache/htdocs" 原始路徑 # # Each directory to which Apache has access, can be configured with respect # to which services and features are allowed and/or disabled in that # directory (and its subdirectories). # # First, we configure the "default" to be a very restrictive set of # permissions. # < Directory /> Options FollowSymLinks AllowOverride None < /Directory > # # Note that from this point forward you must specifically allow # particular features to be enabled - so if something's not working as # you might expect, make sure that you have specifically enabled it # below. # # # This should be changed to whatever you set DocumentRoot to. # < Directory "C:/web/Apache/htdocs"> # # This may also be "None", "All", or any combination of "Indexes", # "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # Options Indexes FollowSymLinks MultiViews # # This controls which options the .htaccess files in directories can # override. Can also be "All", or any combination of "Options", "FileInfo", # "AuthConfig", and "Limit" # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all < / Directory> ----------改动后------------- DocumentRoot "C:/web/www" # # Each directory to which Apache has access, can be configured with respect # to which services and features are allowed and/or disabled in that # directory (and its subdirectories). # # First, we configure the "default" to be a very restrictive set of # permissions. # < Directory /> Options All AllowOverride None < /Directory> # # Note that from this point forward you must specifically allow # particular features to be enabled - so if something's not working as # you might expect, make sure that you have specifically enabled it # below. # # # This should be changed to whatever you set DocumentRoot to. # < Directory "C:/web/www"> # # This may also be "None", "All", or any combination of "Indexes", # "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # Options All # # This controls which options the .htaccess files in directories can # override. Can also be "All", or any combination of "Options", "FileInfo", # "AuthConfig", and "Limit" # AllowOverride All # # Controls who can get stuff from this server. # Order allow,deny Allow from all < / Directory> # # UserDir: The name of the directory which is appended onto a user's home # directory if a ~user request is received. # # Under Win32, we do not currently try to determine the home directory of # a Windows login, so a format such as that below needs to be used. See # the UserDir documentation for details. # < IfModule mod_userdir.c> UserDir "C:/web/www/" < /IfModule> 6.附录:如何设置默认启动页 同样在HTTPD.CONF中 找到下面字段并加上你要的文件名,注意:每个文件名之间要加一个空格 < IfModule mod_dir.c> DirectoryIndex index.html index.htm index.php index.php3 < /IfModule>