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

seo优化 2025-04-25 00:48www.168986.cn长沙seo优化

项目特殊需求:PHP连接SQL Server 2008数据库的实现过程记录与分享

在进行此项目之前,我遇到了许多环境问题,经过长时间的努力,终于成功实现了PHP与SQL Server 2008的链接。现在我将详细记录并分享这个过程,希望对大家有所帮助。

一、安装前的准备

1. Apache HTTP Server 2.2.2

2. PHP 5.2.17

3. SQL Server 2008

4. SQL Server客户端(sqlncli.msi),可以到微软官方网站下载。

5. ntwdblib.dll (版本号为2000.80.194.0)

6. Microsoft Driver for PHP for SQL Server(版本根据SQL Server版本选择,此处为SQLSRV20.exe,适用于SQL Server 2005及2008)。其中,包含php_pdo_sqlsrv_52_ts_vc6.dll和php_sqlsrv_52_ts_vc6.dll。注意选择对应的PHP版本(如52代表PHP 5.2),以及线程安全(ts)或非线程安全(nts)版本,以及编译版本(vc6适用于Apache,vc9适用于IIS)。

二、安装过程

1. Apache的安装:点击安装包,接受协议,设置监听80端口(注意避免与IIS冲突),选择自定义安装,修改安装路径(避免中文),然后开始安装。安装完成后,通过浏览器访问本地服务器地址,若能看到Apache页面,则表示安装成功。

2. SQL Server 2008的安装:按照常规方式进行安装即可。

3. PHP的安装:由于PHP是一个zip文件(非install版),安装较为简单,解压即可。将解压的php-5.2.17-Win32重命名为php5,并复制到C盘目录下。

接下来进行配置和关联:

1. 找到PHP目录下的phpi.remended(或phpi-dist)文件,重命名为phpi并复制到系统盘的windows目录下。

2. 将php目录下的php5ts.dll,php_mssql.dll复制到系统盘system32目录下。

3. 将php5\ext目录下的php_gd2.dll,php_mbstring.dll文件也复制到system32下。其中,php_gd2.dll用于图像处理,php_mbstring.dll用于支持宽字符的phpmyadmin。

三、配置PHP并关联SQL Server 2008

打开c:\windows\phpi文件:

1. 设置扩展路径,查找extension_dir,将其改为正确的PHP扩展路径。

2. 去掉前面带有分号的extension=php_mbstring.dll,extension=php_gd2.dll,extension=php_mssql.dll的注释,以便加载相应的dll。

在此之前,我们曾将那些dll文件复制到system32目录下。大家在安装过程中都需要注意如何加载一些dll文件。

接下来,我们要设置会话保存路径。查找“session.save_path”。在相应的行后(注意是另起一行,并非添加到行尾),添加路径“C:\WINDOWS\Temp”,将其保存到临时目录下,尤其是Windows的Temp目录下。

还有一个值得关注的是“short_open_tag”。某些PHP版本默认是关闭的。这意味着,我们无法直接使用像这样的短标记,必须使用完整的形式。由于短标记使用方便,并且在许多程序中广泛使用,如Discuz等,如果未将“short_open_tag”开启,可能会导致难以判断的错误。建议查找并修改“short_open_tag = Off”为“short_open_tag = On”。

为了调试方便,我们还需要考虑是否显示错误“display_errors”。出于安全考虑,某些版本的PHP默认是关闭的。这意味着,如果PHP代码出现错误,只会显示一个空白页,而不会显示具体的错误原因和行数。这对于调试来说非常不便。建议根据自己的需求查找并修改“display_errors = Off”(注意不是以分号开头)为“display_errors = On”。

虽然第五步开启了错误提示,但错误报告还受到“error_reporting”的控制。PHP5默认会关闭NOTICE提示。如果在本地进行调试,建议开启NOTICE提示。查找并修改“error_reporting = E_ALL”为具体的数值“error_reporting = 7”。

“register_globals”出于安全考虑默认也是关闭的。当此选项为Off时,程序接收数据需要使用$_POST['user_name']和$_POST['user_pass']。而当其为On时,程序可以直接使用$user_name和$user_pass来接收数据。建议根据自己的需求进行修改。为了兼容性,我选择了开启此选项。

接下来是PHP5的时差问题。使用时,时间相差八小时。这是因为PHP5系列版本新增了时区设置,默认设置为格林威治时间。要解决这个问题,需要查找并修改“date.timezone”。去掉前面的分号,设置为“date.timezone = PRC”,其中PRCPeople's Republic of China表示中华人民共和国。

文件上传大小限制:从8M跃升至100M

你是否曾遇到过文件上传大小的限制,使得大文件无法顺利上传?今天,让我们一起打破这一局限,将upload_max_filesize从默认的8M提升至100M。

在Web开发的旅程中,Apache服务器与PHP的整合是不可或缺的一环。让我们逐步完成这一配置,释放你的文件上传潜能。

打开Apache的配置文档,路径如D:\myphp\apache2.2\conf\httpd.conf。这里是配置的心脏,让我们深入。

第一步,寻找网站根目录的设置。默认的路径可能是C:/Program Files/Apache Software Foundation/Apache2.2/htdocs,但你可以根据个人需求进行修改。记得同时更新狼蚁网站SEO优化设置,否则可能会遭遇403错误。

接下来,让Apache知道你的默认网页是什么。在DocumentRoot设置后,找到DirectoryIndex并修改,让index.php也能作为默认页面,比如修改为DirectoryIndex index.html index.html.var index.php。

第三步是加载PHP模块。在配置文件中查找 LoadModule foo_module modules/mod_foo.so,然后添加一行LoadModule php5_module C:/php5/php5apache2_2.dll。注意路径要指向你安装的PHP文件。这里要强调,不同版本的Apache和PHP可能需要不同的dll文件,务必确保选择正确。

为了让Apache能够解释PHP文件,我们还需要进行一项设置。查找AddType application/x-gzip .gz .tgz,然后添加一行AddType application/x-httpd-php .php。

完成上述配置后,重启Apache服务器。然后,在网站根目录下创建一个phpinfo.php文件,输入,在浏览器中打开它。如果能正常显示PHP信息,那么恭喜你,PHP已经配置成功。

但还有最关键的一步,那就是安装数据库扩展。加载其他数据库扩展时,一定要安装sqlncli.msi(SqlServer2008客户端)。我曾在这个问题上困扰了一个星期,因为没有安装客户端,导致总是找不到扩展。还需要注意ntwdblib.dll的版本,PHP本身可能也有这个文件,但可能只支持较老的SqlServer版本。确保选择与你的环境和需求相匹配的文件版本。

重启Apache服务器,并通过编写PHP文件进行测试。如果一切正常,那么你就已经成功将upload_max_filesize改为100M,打破了文件上传的局限。现在,你可以自由地分享和上传大文件了!

上一篇:jquery自定义表单验证插件 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by