致力于为用户提供真实的
主机测评数据及优惠信息

Win2003+apache+PHP+SqlServer2008 配置生产环境

 安装前的准备:

?
1
2
3
4
5
6
7
8
9
10
11
1.Apache2.2.2
 
2.PHP5.2.17
 
 
4.sqlncli.msi(SqlServer客户端,可以到微软官方网站去下载)
 
5.ntwdblib.dll (2000.80.194.0)
 
6.SQLSRV20.exe,即MicrosoftDriver 2.0 for PHP for SQL Server(sql server 2005 及2008使用SQLSRV20.exe, SQL Server 2010使用SQLSRV30.exe)(需要其中的php_pdo_sqlsrv_52_ts_vc6.dll和php_sqlsrv_52_ts_vc6.dll);其中,52表示 php5.2,53表示php5.3,ts表示线程安全,nts表示非线程安全,vc6表示用vc6(vs2005)编译的,vc9表示用vs2008编译的,vc6适用于apache,vc9适用于IIS。

开始安装:

Apache  的安装

1 点击apahce安装包

2 接受协议

3 下面3项随便填即可     apache 监听80 端口.如果iis用了80端口,修改iis端口或者apache端口,以免冲突

(如果本机测试可以填写127.0.0.1)

4 这里默认的是 typical,建议选custom,点击next.

5 这里可用修改安装路径,注意安装路径不能含中文.

6 点击install开始安装

7 安装完成后在浏览器里打入  http://localhost 或者 http://127.0.0.1 如果可以看到这个页面,证明apache安装成功,已经可以解释静态页面了

SQL Server 2008 的安装 ( http://www.zzvips.com/article/74257.html )

PHP的安装

由于php是一个zip文件(非install版),安装较为简单 解压就行.把解压的 php-5.2.17-Win32 重命名为 php5.并复制到C盘目录下.即安装路径为 c:php5

1  找到php目录下的 php.ini.recommended (或者php.ini-dist)文件,重命名为 php.ini 并复制到系统盘的windows目录下(以c:windows为例).

2  再把php目录下的php5ts.dll, php_mssql.dll复制到目录 c:windowssystem32下.

3  把php5ext目录下的php_gd2.dll,php_mssql.dll,php_mbstring.dll文件复制到c:windowssystem32下  如果没有加载 php_gd2.dll  php将不能处理图像. php_mbstring.dll在后面使用phpmyadmin时支持宽字符

配置 php 并关联

SQL Server 2008

打开c:windowsphp.ini文件

1 设置扩展路径 查找 extension_dir 有这么一行 extension_dir = "./" 将此行改成 extension_dir = "C:php5ext"  其中C:php5是你安装php的路径.路径不正确将无法加载dll  (注意:有些php版本是 ;extension_dir = "./" 要把前面的分号去掉)

2 分别查找  ;extension=php_mbstring.dll ;extension=php_gd2.dll ;extension=php_mssql.dll 把上面3项前面的分号去掉,这样apache启动时就可以加载这些dll了

添加:extension=php_sqlsrv_52_ts_vc6.dll(或extension=php_pdo_sqlsrv_52_ts_vc6.dll),注意:二者只能选其一,如果两个都添加则Apache无法启动。

当然前面我们也把这些dll复制到system32下了.(大家在安装的过程中都注意到如何把一些dll加载入来了.

3 设置会话保存路径 查找session.save_path 有这么一行 ;     session.save_path = "N;/path" 在此行后加入一行(注意是加入一行,不是加到后面) session.save_path = "C:WINDOWSTemp"  保存到你的临时目录下,这里完全可以保存到windows临时目录Temp下

4 还有比较值得注意的是 short_open_tag .有一些php版本默认是Off的. 也就是说 php不能使用短标记如 <? ?> 必须使用<?php ?> 由于短标记使用方便,并且很多程序也是用短短标记来写,如discuz等 如果不把 short_open_tag 改成On将出现的症状将很难判断是上面原因,这里建议修改  查找 short_open_tag = Off 改为 short_open_tag = On

5 是否显示错误 display_errors  出于安全性考虑,display_errors 有些版本也默认为 Off. 就是说在调试时,如果php代码有误,就只出现一个空白页.而不会显示出错原因和出错行数. 这样调试起来将非常不便,建议根据自己需要修改 查找 display_errors = Off           (注意不是 ; – display_errors = Off           [Security]) 改成 display_errors = On

6 显示NOTICE敬告提示 第五步虽然打开了出错提示,但出错报告还受到 error_reporting 的控制. php5默认关闭NOTICE敬告提示,如果是在本地调试,建议打开NOTICE敬告提示. 查找 error_reporting  =  E_ALL 改成 error_reporting  =  7

另外提示一下,在程序中也可以通过error_reporting()控制错误报告输出,具体怎么用大家参考下手册.

7 register_globals 出于安全性考虑它默认也是Off 当register_globals=Off的时候,下一个程序接收的时候应该用$_POST['user_name']和$_POST['user_pass'])  当register_globals=On的时候,下一个程序可以直接使用$user_name和$user_pass来接受值.  建议根据自己需要修改,为了兼容问题,我还是把它改成On了.

8 php5时差问题 <?php echo date("Y-m-d H:i:s");?>时间相差八小时 为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中

赞(0) 打赏
未经允许不得转载:爱主机 » Win2003+apache+PHP+SqlServer2008 配置生产环境
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址