Win2003+apache+PHP+SqlServer2008 配置

安装前的准备:

  1.Apache2.2.2

  2.PHP5.2.17

  3.SqlServer2008

  4.sqlncli.msiSqlServer客户端,可以到微软官方网站去下载)

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.dllphp_sqlsrv_52_ts_vc6.dll);其中,52表示 php5.2,53表示php5.3,ts表示线程安全,nts表示非线程安全,vc6表示用vc6(vs2005)编译的,vc9表示用vs2008编译的,vc6适用于apache,vc9适用于IIS

开始安装:

Apache 的安装

点击apahce安装包



接受协议



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

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



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

 

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



点击install开始安装



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

 

SQL Server 2008的安装()

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:\windows\system32
.

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

 

 

配置php并关联SQL Server 2008

打开c:\windows\php.ini文件

设置扩展路径

查找 extension_dir 有这么一行

extension_dir = "./"
将此行改成

extension_dir = "C:\php5\ext" 
其中C:\php5是你安装php的路径.路径不正确将无法加载
dll 
(
注意:有些php版本是 ;extension_dir = "./" 要把前面的分号去掉
)

分别查找
 
;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加载入来了.

设置会话保存路径

查找session.save_path 有这么一行

;     session.save_path = "N;/path"
在此行后加入一行(注意是加入一行,不是加到后面
)
session.save_path = "C:\WINDOWS\Temp" 
保存到你的临时目录下,这里完全可以保存到windows临时目录Temp
 

还有比较值得注意的是 short_open_tag .有一些php版本默认是Off
.
也就是说 php不能使用短标记如 <? ?> 必须使用
<?php ?>
由于短标记使用方便,并且很多程序也是用短短标记来写,discuz

如果不把 short_open_tag 改成On将出现的症状将很难判断是上面原因,这里建议修改
 
查找

short_open_tag = Off
改为

short_open_tag = On 

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

查找

display_errors = Off           (
注意不是
 ; - display_errors = Off           [Security])
改成

display_errors = On 

显示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系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时

查找date.timezone有这么一行

;date.timezone =
;去掉,改成

date.timezone = PRC 
其中PRCPeople's Republic of China 中华人民共和国


9 php5
上传文件问题

a. 
一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完
.
但在php,默认的该页最久执行时间为 30 .就是说超过30,该脚本就停止执行
.
这就导致出现 无法打开网页的情况.这时我们可以修改
 max_execution_time

php.ini里查找
 
max_execution_time
默认是30.改为

max_execution_time = 0 
0
表示没有限制


另一种方法是可以在php程序中加入

set_time_limit();
来设定页面最久执行时间
.
set_time_limit(0);//0
表示没有限制


b. 
修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。

php
默认的post_max_size 2M.如果 POST 数据尺寸大于 post_max_size $_POST  $_FILES superglobals 便会为空
.
查找 post_max_size .改为

post_max_size = 150M

c. 
很多人都会改了第二步.但上传文件时最大仍然为
 8M.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
 
查找upload_max_filesize,默认为8M改为

upload_max_filesize = 100M

另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

 

 

Apache整合PHP

打开apache配置文档,以作者的电脑为例:
D:\myphp\apache2.2\conf\httpd.conf

修改网站根目录

查找DocumentRoot有这么一行

DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
这就是你网站的根目录,你可以修改,也可以用默认的.如果改,还要修改下面这项,否则可能会出现 403 错误

查找
  This should be changed to whatever you set DocumentRoot to
在它下面两行有

<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
把上面两项的 C:/Program Files/Apache Group/Apache2/htdocs 改成你想要的目录


查找
  DirectoryIndex index.html
修改成

DirectoryIndex index.html index.html.var index.php 
这样index.php 可以充当默认页面了
 

4 Apache
中模块化安装
php
查找
 # LoadModule foo_module modules/mod_foo.so
在此行后加入一行

LoadModule php5_module C:/php5/php5apache2_2.dll

(
其中C:/php5/php5apache2_2.dll是你安装php的相应路径
.
注意不要把php5apache2_2.dll,php5apache2.dllphp5apache.dll混淆.php5apache.dll只适用于apache 版本1
.
PHP5
压缩包里的php5apache2.dll只适用于apache2.0.*版本,如果是2.2.*以上版本,必须使用php5apache2_2.dll.否则就可能会出现

"Cannot load C:/php/php5apache2.dll into server: The specified module could not be found."
或者
:
"The requested operation has failed"
的情况
.
不过php5apache2_2.dll出来之后也就没有多少参考价值了
)

查找
 AddType application/x-gzip .gz .tgz
在此行后加入一行

AddType application/x-httpd-php .php 
这样apache就可以解释php文件了
 
到这里配置基本完成了
 

重启apache,在网站根目录下创建一个 phpinfo.php 文件


<?php
phpinfo();
?> 

在浏览器中打开。如果能正常看到php的信息,则说明php已经配置好了。

 

1、。

2、最关键的一步,也就是区别于加载其它数据库展的一步,安装sqlncli.msiSqlServer2008客户端),第一次配的时候,折磨了我一个星期,就是因为没有装客户端,以致总是提示找不到扩展。再把ntwdblib.dll (2000.80.194.0),注意一下版本,PHP本身也有这个文件,是老版本的,只支持SqlServer2000

  最后重启Apache服务器,写个PHP文件,测试一下,一切OK,搞定了!

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值