################
#.准备按照环境#
################
*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目录下