设为首页 收藏本站
查看: 937|回复: 0

[经验分享] Win2003+apache+PHP+SqlServer2008 配置

[复制链接]

尚未签到

发表于 2015-8-5 10:50:42 | 显示全部楼层 |阅读模式
  Win2003+apache+PHP+SqlServer2008 配置


安装前的准备:

  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的安装(略)

  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已经配置好了。


1、。

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

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-94372-1-1.html 上篇帖子: 【Web Service】Apache Tuscany发布SOAP 下篇帖子: Apache中运行Asp.net
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表