*******************BEGIN*******************

YI-D

恶魔的眉眼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

################
#.准备按照环境#
################
*apache 使用2.2.X
http://httpd.apache.org/download.cgi 下载•Win32 Binary without crypto (no mod_ssl) (MSI Installer):

*PHP 使用5.2.x
http://www.php.net/ 下载最新的稳定版

*ice准备
下载支持php ice安装包

*安装apache 。。
x:/apache

*安装php
需要注意安装成module方式
x:/php

*安装ice
x:/ice


################
#.设置运行环境#
################

*php和ice
找到php.ini 添加
extension=php_ice.dll
将x:/ice/bin/php_ice.dll 拷贝到 x:/php/ext 下
(注意:这里可以通过修改extension_dir来指定)

*ice运行环境设置采用下面任意一种设置整个环境可以访问到下面的dll
   bzip2.dll
   ice33.dll
   iceutil33.dll
   msvcp60.dll
   msvcrt.dll
   slice33.dll
   stlport_vc646.dll
A.将ice的bin路径设置到path中
eg: path=x:/ice/bin

B.将上面的dll拷贝到系统中
eg:x:/winX/system32

C.将上面的dll拷贝到apache bin下(建议采用)
eg:x:/apache/bin 下


######################
#设置apache stack大小 #
######################
(.需要安装vs.)
点击开始---》Microsoft Visual Studio 2008---》Visual Studio Tools==》Visual Studio 2008 命令提示

@@@@@begin bat
A.查看堆栈大小
 cd x:/apache/bin
 x:
 dumpbin /all httpd.exe | find "stack"

eg:输出为
40000 size of stack reserve
#说明堆栈太小需要修改

B.调整大小
-----------------------
 The default size is 0x40000 (262,144) bytes, which is too small to
   effectively use the Ice extension. Attempting to load even a
   trivial Slice file causes Apache to fail during startup with a
   stack overflow error.
-----------
editbin /stack:1048576 httpd.exe
B.1 查看结果
dumpbin /all httpd.exe | find "stack"
#如果输出100000 size of stack reserve就可以
@@@@end bat


######################
#加载slice  #
######################
方法1.直接加载slice(只可以加载1个)
修改x:/php/php.ini
eg: ice.slice = C:\Ice\demophp\Ice\hello\Hello.ice

方法2:通过proflie加载(如果ice 接口中用到如 directory一类的东西必须如下)
ice.profiles=x:\xx.profile

eg:xx.profile
[Chat]
ice.config=x:\config.phpclient;用于配置ice 连接信息可以不用
;X:\Ice-3.3.1-VC90\slice用于加载 directory 等信息
; -IX:\demo\slice 用于指定yy.ice 扩展需要的其他 *.ice
;x:\demo\yy.ice 客户端需要用
ice.slice=-w -IX:\Ice-3.3.1-VC90\slice -IX:\demo\slice x:\demo\yy.ice

eg:config.phpclient
PollingChatSessionFactory.Proxy=PollingChatSessionFactory:tcp -h 127.0.0.1 -p 10001


######################
#测试是否可以用  #
######################
A.apache 测试
x:\apache\bin\httpd.exe -w -t -f "x:\apache\apache\conf\httpd.conf" -d "x:\apache\."

B.php 测试
点击开始---》Microsoft Visual Studio 2008---》Visual Studio Tools==》Visual Studio 2008 命令提示
php -m
查看ice 模块是否安装,检查加载slice 是否可读(php命令木有,1.配置运行环境中path="x:/php/bin";%path% 或者cd到目录下运行 )

C.ice运行冲突. 因为php用ice.dll 和c#编辑用ice不一样。
如果在环境变量中配置采用机器环境path 中配置了x:\ice/bin
解决方法:将ice dll 拷贝到c#编译的*.exe 目录下
配置ICE_HOME .指导到c#用ice目录下,lib 指导c#用ice lib目录下

 

 

 

 

 

 


 

 

posted on 2009-11-04 13:39  YI-D  阅读(2558)  评论(0编辑  收藏  举报

^_^ ^_^ *******************END******************* ^_^ ^_^