apache+php+mysq环境详细l配置

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

第一步:下载安装文件

 

     1.
MySQL:进入http://www.mysql.com/downloads/mysql/下载地址mysql-5.5.22.zip或mysql-5.5.22-win32.msi(最新版5.5.22);
     2. Apache
进入http://httpd.apache.org/download下载 httpd-2.2.22-win32-x86-no_ssl.msi(最新版的2.4.1但还不可下载)
     3. PHP5.4.0
进入http://[Windows](http://www.jikexueyuan.com/course/windows/).php.net/download/下载php-5.4.0-Win32-VC9-x86.zip(VC9
x86 Thread Safe)注意:一定要下载php-5.4.0-  
Win32-VC9-x86版本的,不要下载php-5.4.0-nts-Win32-VC9-x86.zip(VC9 x86
Non Thread Safe)版本,因为他是IIS服务器安装版本。(最新版php5.4)

第一次使用的

第二部:安装

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

  1.将apache安装在默认目录下(C:\Program Files\Apache Software
Foundation\Apache2.2)

找到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”。

  2.在D盘新建一文件夹php5,将php-5.4.0-Win32-VC9-x86.zip解压到该文件夹下

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

      3.将mysql安装在php5目录下

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

第三步:配置php5.4.0

 

   1.
配置PHP5.4.0,打开php安装目录(笔者是D:\php5)可以看到目录下有两个这样的文件php.ini-development和php.ini-production,第一个是开发使用的配置文件,第二个是标准的生产环境的配置。
      2.
选择php.ini-development改名为php.ini拷贝到apache安装目录下(笔者C:\Program
Files\Apache Software Foundation\Apache2.2)   

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

      3.设置php查找动态模块调入路径:在C:\Program Files\Apache Software
Foundation\Apache2.2目录下打开php.init文件,查找;extension_dir=”./”,修改成php目录里extensions的路径,即”extension_dir=d:\php\ext”(还有一种方式即On
windows:下面的那个并去得前面的分号修改为extension_dir =
“D:\php5\ext”)
     3.
由于默认PHP并不支持自动连接Mysql,需开启相应的扩展库功能,比如php_mysql.dll等。查找extension=php_,去掉extension=php_curl.dll、extension=php_gd2.dll、extension=php_mbstring.dll、extension=php_mysql.dll、extension=php_mysqli.dll、extension=php_pdo_mysql.dll、extension=php_xmlrpc.dll前面的分号。查找short_open_tag
= Off把它修改成short_open_tag = On,让其支持短标签。
     4.
复制php5ts.dll文件到WINDOWS/system32目录下,只有php-5.3.3-Win32-VC6-x86版本中才有php5ts.dll php-5.3.3-nts-Win32-VC6-x86版本是没有的。

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

     5.为了将mysql同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文件可能会变成下载。

     (1)将“mysql.default_port = “修改为”mysql.default_port = 3306”

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

   (2)将”mysql.default_host = “ 修改为 “mysql.default_host =
localhost”

ServerRoot 是apache的安装路径

      (3) 将”mysql.default_user = “修改为”mysql.default_user = root”

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

    (4)将”mysql.default_password =“ 修改为”mysql.default_password =
123456“

 

   (5)将”;extension=php_mysql.dll”修改为“extension=php_mysql.dll”

参考最简的配置如下

  下面的根据需要修改:

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>  

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>

  
6.如果现实中文出现乱码可以讲”;default_charset=”UTF-8″改为”default_charset=”gb2322″”

 

     
 7.由于很多时候需要用session对象存储数据如session身份验证、设计购物车等可以讲”;session.save_path=”/tmp””修改为”session.save_path=”D:php5/session””.文件夹session手动创建,也可以成为其他目录

 

       
8.将”display_errors=off”修改为”display_errors=on”,表示运行时如果发生错误会现实错误信息。

相关文章