您的位置:博客首页 >> Web服务器 >> Windows安装Wam PHP环境

Windows安装Wam PHP环境

日志编号:24 发表时间: 2011-12-06 11:42:37 关注次数:4742
注:本文中括号内为本人注释说明内容。
一、准备条件
系统:2003或者XP
PHP版本:5.2以上
Apache:2.0以上
MySQL:5.0以上
安装目录:D:\myphp
附:php5.3.x,VC9 x86 Non Thread Safe版本没有php5ts.dll等文件,因此需下载VC9 x86 Thread Safe版本,至于Thread Safe和Non Thread Safe的区别原理,就让他滚蛋去吧。

二、初步安装
先安装Apache和MySql到D:\myphp。
PHP我们使用解压版,解压到D:\myphp\php

三、配置(1)
1、用记事本打开D:\myphp\php\php.ini文件,找到下面三行
;extension=php_mbstring.dll(支持宽字符)
;extension=php_mcrypt.dll(加密相关)
;extension=php_mysql.dll(支持MySQL)
把前面的;去掉
找到extension_dir = "",修改为extension_dir = "D:\myphp\php\ext"
搜索expose_php设置为expose_php = Off 关闭版本透露
保存php.ini

2、用记事本打开D:\myphp\Apache202\conf\httpd.conf
1)找到DocumentRoot "",并添加目录,最后是DocumentRoot "D:/myphp/root"(请在myphp目录下新建root文件夹)
将所有路径目录相关的改为D:/myphp/root,比如<Directory "D:/myphp/root">
2)搜索并找到<IfModule dir_module>
修改如下:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php index.html #站点默认首页
LoadFile D:\myphp\php\php5ts.dll 
#LoadFile D:\myphp\php\libmhash.dll 对应extension=php_mhash.dll
LoadFile D:\myphp\php\libmysql.dll
LoadModule php5_module D:\myphp\php\php5apache2_2.dll #加载php dll
AddType application/x-httpd-php .php    #添加php扩展名
PHPIniDir "D:\myphp\php\"      #php.ini所在位置
</IfModule>
3)搜索Indexes FollowSymLinks,设置为Options -Indexes FollowSymLinks,以禁用目录浏览
4)找块空地填加如下内容以增加安全性和性能:

#禁止发送主机信息,无法查探apache版本,提高安全。可通过phpinfo()检查,添加后只显示apache,否则显示Apache/2.2.21 (Win32) PHP/5.2.17
ServerSignature Off
ServerTokens Prod

HostnameLookups Off

KeepAlive on
KeepAliveTimeout 15
MaxKeepAliveRequests 100
Timeout 60

<IfModule prefork.c>
ServerLimit     1000
StartServers         10
MinSpareServers     10
MaxSpareServers     15
MaxClients         660
MaxRequestsPerChild 680
#ServerLimit和MaxClients是连接数限制设定,默认MaxClients为150,但也不要设置太大,否则服务器承受不了……MaxRequestsPerChild太大的话,服务器内存问题限制,内存好可以设置为0或调整大值。4G的服务器可以设置为5000,然后观察内存进行调整
</IfModule>


三、配置(2)
初步配置已经完成,PHP环境也可以了,只要把PHP环境放root目录下就可以运行了。
现在再来说一下一些重要而且需要的配置。
1、支持.htaccess文件控制伪静态方法:记事本打开httpd.conf文件#LoadModule rewrite_module modules/mod_rewrite.so,将前面的#去掉。然后找到这些(已经去掉注释了,搜索AllowOverride none即可找到):

<Directory "D:/myphp/root">
    Options Indexes FollowSymLinks #参考上面一条,此Indexes前加-可以禁用目录浏览
    AllowOverride none 
    Order allow,deny
    Allow from all
</Directory>

将AllowOverride none改为AllowOverride all
保存后就可以简单使用.htaccess文件进行伪静态了。
下面来在root目录新建个.htaccess用用(没法建立.htaccess文件的话,从服务器或网上或其他程序中找个.htaccess文件来吧。windows操作系统不允许文件名以.开头,不过却允许它的存在)。简单点的规则很简单,如下:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^show(.+)\.html$ show.php?id=$1 #这里的配置,将show.php?id=10显示为show10.html
    RewriteRule ^index(.+)\.html$ index.php?page=$1 #这里的配置,将index.php?page=10显示为index10.html
    RewriteRule ^([a-z0-9]+)\.html$ index.php?id=$1#这里的配置,将index.php?id=10显示为10.html
2、使PHP支持其他扩展
php.ini文件中有很多扩展默认没有打开,应该根据需要去打开,比如:
;extension=php_gd2.dll
;extension=php_mysqli.dll
;extension=php_pdo.dll

3、域名邦定:
httpd.conf中添加
<VirtualHost 127.0.0.1:80>
   ServerAdmin admin@system
   DocumentRoot D:\myphp\web  #服务文件夹路径
   ServerName www.flashgou.com
 #下面设置日志记录,不记录gif\swf等静态网站小东东,对于jpg则记录以查看是否被盗用。另外启用日志分割
   <FilesMatch "\.(ico|gif|swf|css|js)">
    SetEnv dontlog 1
  </FilesMatch>
  ErrorLog logs/flashgou-error_log
  CustomLog "|bin/rotatelogs.exe logs/access_log_%Y%m%d 86400 480" combined env=!dontlog
  #php的访问目录
   php_admin_value open_basedir "D:\myphp\root;D:\myphp\php\session"
</VirtualHost>

四、启动
新建bat文件,写入:
@ECHO OFF
echo ====安装服务====
D:\job\Apache\bin\httpd.exe -k install
D:\job\MySQL\bin\mysqld-nt.exe -install
echo ====开始服务====
net start mysql
net start apache2.2
echo ====启动服务====
start D:\job\Apache\bin\ApacheMonitor.exe


双击就可以启动了。如果在启动过程中提示无法加载php5ts.dll,那么需要先安装VC运行库(更新系统补丁就可以了,也可以搜索下载安装)

再创建bat文件,写入:
@ECHO OFF
echo ====停止服务====
net stop apache2.2
net stop mysql

echo ====卸载服务====
D:\job\MySQL\bin\mysqld-nt.exe -remove
D:\job\apache\bin\httpd.exe -k uninstall


win7启动bat文件需要右键使用管理员身份运行。

补充帖子:http://bbs.blueidea.com/thread-2762150-1-2.html
本站不提供讨论功能。
本站所有非新闻类文章均为原创,且禁止转载。
本站为了获得更多流量赚取广告费,难免会有以次充好的文章,望见谅,勿鄙视。