首页 后端开发 php教程 Win2003+apache+PHP+SqlServer2008 配置生产环境_PHP

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

Jun 01, 2016 am 11:50 AM
apache php

Apache

 安装前的准备:

1.Apache2.2.2

2.PHP5.2.17

3.SqlServer2008

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.bitsCN.com/article/30243.htm )

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文件

1 设置扩展路径 查找 extension_dir 有这么一行 extension_dir = "./" 将此行改成 extension_dir = "C:\php5\ext"  其中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:\WINDOWS\Temp"  保存到你的临时目录下,这里完全可以保存到windows临时目录Temp下

4 还有比较值得注意的是 short_open_tag .有一些php版本默认是Off的. 也就是说 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时差问题 时间相差八小时 为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时 查找date.timezone有这么一行 ;date.timezone = 将;去掉,改成 date.timezone = PRC  其中PRC:People'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

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

2 修改网站根目录 查找DocumentRoot有这么一行 DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" 这就是你网站的根目录,你可以修改,也可以用默认的.如果改,还要修改下面这项,否则可能会出现 403 错误 查找  This should be changed to whatever you set DocumentRoot to 在它下面两行有 把上面两项的 C:/Program Files/Apache Group/Apache2/htdocs 改成你想要的目录

3 查找  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.dll和php5apache.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出来之后也就没有多少参考价值了)

5 查找 AddType application/x-gzip .gz .tgz 在此行后加入一行 AddType application/x-httpd-php .php  这样apache就可以解释php文件了  到这里配置基本完成了

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

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


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

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

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

超越炒作:评估当今PHP的角色 超越炒作:评估当今PHP的角色 Apr 12, 2025 am 12:17 AM

PHP在现代编程中仍然是一个强大且广泛使用的工具,尤其在web开发领域。1)PHP易用且与数据库集成无缝,是许多开发者的首选。2)它支持动态内容生成和面向对象编程,适合快速创建和维护网站。3)PHP的性能可以通过缓存和优化数据库查询来提升,其广泛的社区和丰富生态系统使其在当今技术栈中仍具重要地位。

PHP的当前状态:查看网络开发趋势 PHP的当前状态:查看网络开发趋势 Apr 13, 2025 am 12:20 AM

PHP在现代Web开发中仍然重要,尤其在内容管理和电子商务平台。1)PHP拥有丰富的生态系统和强大框架支持,如Laravel和Symfony。2)性能优化可通过OPcache和Nginx实现。3)PHP8.0引入JIT编译器,提升性能。4)云原生应用通过Docker和Kubernetes部署,提高灵活性和可扩展性。

PHP:网络开发的关键语言 PHP:网络开发的关键语言 Apr 13, 2025 am 12:08 AM

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP与Python:核心功能 PHP与Python:核心功能 Apr 13, 2025 am 12:16 AM

PHP和Python各有优势,适合不同场景。1.PHP适用于web开发,提供内置web服务器和丰富函数库。2.Python适合数据科学和机器学习,语法简洁且有强大标准库。选择时应根据项目需求决定。

PHP与其他语言:比较 PHP与其他语言:比较 Apr 13, 2025 am 12:19 AM

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

Laravel(PHP)与Python:开发环境和生态系统 Laravel(PHP)与Python:开发环境和生态系统 Apr 12, 2025 am 12:10 AM

Laravel和Python在开发环境和生态系统上的对比如下:1.Laravel的开发环境简单,仅需PHP和Composer,提供了丰富的扩展包如LaravelForge,但扩展包维护可能不及时。2.Python的开发环境也简单,仅需Python和pip,生态系统庞大,涵盖多个领域,但版本和依赖管理可能复杂。

如何利用Debian Apache日志提升网站性能 如何利用Debian Apache日志提升网站性能 Apr 12, 2025 pm 11:36 PM

本文将阐述如何通过分析Debian系统下的Apache日志来提升网站性能。一、日志分析基础Apache日志记录了所有HTTP请求的详细信息,包括IP地址、时间戳、请求URL、HTTP方法和响应代码等。在Debian系统中,这些日志通常位于/var/log/apache2/access.log和/var/log/apache2/error.log目录下。理解日志结构是有效分析的第一步。二、日志分析工具您可以使用多种工具分析Apache日志:命令行工具:grep、awk、sed等命令行工具可

如何检查Debian OpenSSL配置 如何检查Debian OpenSSL配置 Apr 12, 2025 pm 11:57 PM

本文介绍几种检查Debian系统OpenSSL配置的方法,助您快速掌握系统安全状态。一、确认OpenSSL版本首先,验证OpenSSL是否已安装及版本信息。在终端输入以下命令:opensslversion若未安装,系统将提示错误。二、查看配置文件OpenSSL主配置文件通常位于/etc/ssl/openssl.cnf。您可以使用文本编辑器(例如nano)查看:sudonano/etc/ssl/openssl.cnf此文件包含密钥、证书路径及加密算法等重要配置信息。三、利用ope

See all articles