配置windows下php+apache+mysql环境

其实windows下php的安装配置是比linux下容易多了,加之三兄弟都是绿色的,重装系统的时候只需解压注册一下相应的服务就可以了,本方法适合初学者参考。

 

第一次使用的

对于php,直接到php官网下载并解压就可以了。这里假定解压在d:\php5\

找到d:\php5\下的php.ini文件,如果没有的话,可以用php.ini-xxxxxxx的文件(php.ini-development是开发时的配置,php.ini-produciton是部署的,php.ini-recommended是官方推荐的),将其重命名为php.ini。打开php.ini,找到 extension_dir = “xxxxxxx",修改extension_dir = "d:/php5/ext"。

extension=xxxxxx.dll的,都是对应的扩展。前面的;是注释符,将;去掉的话,就将启用该扩展,通常情况下,php_mysql.dll,php_gd2.dll是需要开启的,即
;extension=php_mysql.dll改为

extension=php_mysql.dll。改好php.ini后保存。

 

再来就是apache,没有的话可以到官网下载安装,假设安装在D:\Program Files\Apache2.2\,打开D:\Program Files\Apache2.2\conf\,找到文件httpd.conf。

打开编辑,编辑LoadModule php5_module "d:/php5/php5apache2_2_filter.dll"(因为我提供的是apache2.2的下载连接,所以这里使用php5apache2_2_filter.dll,如果是apache2的话,就用php5apache2_filter.dll,这两个文件在php安装目录下是应该有的)。

接着查找PHPIniDir ,没有的话添加一行 PHPIniDir "d:\php5",有的话修改一下路径,使之与php的安装目录路径一致。这个主要是让apache使用指定的php.ini文件,就不要拷贝php.ini到c:/windows/下了,省得重装系统后还要拷贝。查找一下<IfModule mime_module>节点,在<IfModule mime_module>...</IfModule mime_module>之间添加一条    AddType application/x-httpd-php .php,没有这条的话,访问的php文件可能会变成下载。

Listen 80 这个是监听端口,有IIS的朋友可以设置成8080等,免得冲突。

ServerRoot 是apache的安装路径

DocumentRoot 是web主目录路径,这个文件夹要是已经存在的文件夹

 

参考最简的配置如下

ThreadsPerChild 250 

MaxRequestsPerChild  0 



ServerRoot "D:/Program Files/Apache2.2" 



Listen 8080 



LoadModule actions_module modules/mod_actions.so 

LoadModule alias_module modules/mod_alias.so 

LoadModule asis_module modules/mod_asis.so 

LoadModule auth_basic_module modules/mod_auth_basic.so 

LoadModule authn_default_module modules/mod_authn_default.so 

LoadModule authn_file_module modules/mod_authn_file.so 

LoadModule authz_default_module modules/mod_authz_default.so 

LoadModule authz_groupfile_module modules/mod_authz_groupfile.so 

LoadModule authz_host_module modules/mod_authz_host.so 

LoadModule authz_user_module modules/mod_authz_user.so 

LoadModule autoindex_module modules/mod_autoindex.so 

LoadModule cgi_module modules/mod_cgi.so 

LoadModule dir_module modules/mod_dir.so 

LoadModule env_module modules/mod_env.so 

LoadModule imagemap_module modules/mod_imagemap.so 

LoadModule include_module modules/mod_include.so 

LoadModule isapi_module modules/mod_isapi.so 

LoadModule log_config_module modules/mod_log_config.so 

LoadModule mime_module modules/mod_mime.so 

LoadModule negotiation_module modules/mod_negotiation.so 

LoadModule setenvif_module modules/mod_setenvif.so 

LoadModule userdir_module modules/mod_userdir.so 

LoadModule rewrite_module modules/mod_rewrite.so 

LoadModule vhost_alias_module modules/mod_vhost_alias.so 

LoadModule php5_module "d:/php5/php5apache2_2_filter.dll"



PHPIniDir "d:\php5" 

ServerAdmin [email protected] 



ServerName 192.168.1.26:8080 



DocumentRoot "f:/phpwwwroot" 



DefaultType text/plain 

ErrorLog logs/error.log

LogLevel warn 



<Directory /> 

    Options FollowSymLinks 

    AllowOverride None 

    Order deny,allow 

    Deny from all 

    Satisfy all 

</Directory> 



<Directory "f:/phpwwwroot"> 

    Options Indexes FollowSymLinks 

    AllowOverride all 

    Order allow,deny 

    Allow from all 

</Directory> 



<Files *.php> 

AcceptPathInfo On 

</Files>



<IfModule dir_module> 

    DirectoryIndex index.html index.php index.htm 

</IfModule> 



<FilesMatch "^\.ht"> 

    Order allow,deny 

    Deny from all 

</FilesMatch> 



<IfModule log_config_module> 



    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 

    LogFormat "%h %l %u %t \"%r\" %>s %b" common 



    <IfModule logio_module> 

      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio 

    </IfModule> 



    CustomLog logs/access.log common 



</IfModule> 



<IfModule alias_module> 

    ScriptAlias /cgi-bin/ "D:/Program Files/Apache2.2/cgi-bin/" 

</IfModule> 



<Directory "D:/Program Files/Apache2.2/cgi-bin"> 

    AllowOverride all 

    Options None 

    Order allow,deny 

    Allow from all 

</Directory> 



<IfModule mime_module> 



    AddType application/x-compress .Z 

    AddType application/x-gzip .gz .tgz 

    AddType application/x-httpd-php .php 



</IfModule>

  
    
ThreadsPerChild 250
MaxRequestsPerChild
0

ServerRoot
" D:/Program Files/Apache2.2 "

Listen
8080

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule php5_module
" d:/php5/php5apache2_2_filter.dll "

PHPIniDir
" d:\php5 "
ServerAdmin xin478@
126 .com

ServerName
192.168.1.26 : 8080

DocumentRoot
" f:/phpwwwroot "

DefaultType text/plain
ErrorLog logs/error.log
LogLevel warn

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny
, allow
Deny from all
Satisfy all
</Directory>

<Directory
" f:/phpwwwroot " >
Options Indexes FollowSymLinks
AllowOverride all
Order allow
, deny
Allow from all
</Directory>

<Files *.php>
AcceptPathInfo On
</Files>

<IfModule dir_module>
DirectoryIndex index.html index.php index.htm
</IfModule>

<FilesMatch
" ^\.ht " >
Order allow
, deny
Deny from all
</FilesMatch>

<IfModule log_config_module>

LogFormat
" %h %l %u %t \ " %r\ " %>s %b \ " %{Referer}i\ " \ " %{User-Agent}i\ "" combined
LogFormat
" %h %l %u %t \ " %r\ " %>s %b " common

<IfModule logio_module>
LogFormat
" %h %l %u %t \ " %r\ " %>s %b \ " %{Referer}i\ " \ " %{User-Agent}i\ " %I %O " combinedio
</IfModule>

CustomLog logs/access.log common

</IfModule>

<IfModule alias_module>
ScriptAlias /cgi-bin/
" D:/Program Files/Apache2.2/cgi-bin/ "
</IfModule>

<Directory
" D:/Program Files/Apache2.2/cgi-bin " >
AllowOverride all
Options None
Order allow
, deny
Allow from all
</Directory>

<IfModule mime_module>

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php

</IfModule>

 

 

以上,红色的地方都是路径,都要根据自己的情况改一下

 

最后就是mysql了,这个的话,也是下载一份,一路next安装,安装完毕后,到php安装文件夹下的libmysql.dll到c:/windows/system32/ 下。就可以了。自此,三个就全好了。

 

 

对于重装系统后,只要配置没有大体的变动,只要再次拷贝 d:/php5/libmysql.dl l到c:/windows/system32/ 下。再运行cmd ,进入apache目录下的bin目录,运行httpd.exe –k install 就可以注册apache的服务。如图

image

系统会注册名为apache的服务,并将其设置为自动运行。

php方面,由于先前设置了php.ini在安装目录,所以没有什么要更改或拷贝的。

mysql的话,可以选择重装。不想重装的,先到mysql目录的data目录下查找*.err,删除掉,否则有时候会出现无法配置成功的情况。运行mysql安装目录下的bin\MySQLInstanceConfig.exe来重新配置。运行execute的时候,提示找不到my-template.cnf, 其实此文机是以ini文件的形式存储在mysql的根目录下(所有*.cnf文件在windows 下, 就是*.ini文件),mysql查找路径不对而已,我们可以在安装mysql的根目录看到my-template.ini文件.

具体如下:修改注册表

“HKEY_LOCAL_MACHINE/Software/Mysql AB/Mysql server 5/location”

把后面的地址改为”D:\Program Files\MySQL\MySQL Server 5.0\〃修改为my-template.ini所在目录路径即可(如:D:\Program Files\MySQL)。

如果安装的时候,mysql提示注册服务失败,不要紧张,开始->运行->services.msc,看看是不是已经有了名为MySql的服务,有的话就可以了。

你可能感兴趣的:(windows)