配置php_ice折騰了好陣子
先是不知道php_ice.dll原來(lái)在Ice-3.2.1-VC60.msi里面有,所以忙著去下載php5.2.10源代碼和php二進(jìn)制程序,通過(guò)icePhp的編譯README編譯出了php_ice.dll,放到php/ext下,重啟apache失敗。
拷貝如下文件:
bzip2.dll
icecpp.exe
ice32.dll
iceutil32.dll
msvcp60.dll
msvcrt.dll
slice32.dll
stlport_vc646.dll
最好將這些文件也拷貝到 apache/bin目錄下(apache_2.2.9-win32-x86-no_ssl-r2.msi)
Ice工程師告知Ice-3.2.1-VC60.msi的php_ice.dll是在php-5.2.1-Win32編譯出來(lái)的,所以最好使用php-5.2.1-Win32.zip版本
http.conf配置:
==============
PHPIniDir "c:/php-5.2.1-Win32/"
LoadFile c:/php-5.2.1-Win32/php5ts.dll
LoadFile c:/php-5.2.1-Win32/libmysql.dll
LoadFile c:/php-5.2.1-Win32/ntwdblib.dll
LoadModule php5_module "c:/php-5.2.1-Win32/php5apache2_2.dll"
AddType application/x-httpd-php .php
php.ini
=============
extension_dir = "C:\php-5.2.1-Win32\ext"
extension=php_ice.dll
ice.slice=E:/map_build/swmap2/idl/mapserver.ice
display_startup_errors=1
icecpp.exe拷貝到 windows目錄下
未解決問(wèn)題:
===============
在ice接口定義中聲明了對(duì)外部ice文件的引用:
#include <Ice/Identity.ice>
但在啟動(dòng)apache時(shí)產(chǎn)生如下apache錯(cuò)誤,導(dǎo)致apache無(wú)法啟動(dòng):
E:/map_build/swmap2/idl/mapserver.ice:12: No include path in which to find Ice/Identity.ice
PHP Fatal error: Unable to start ice module in Unknown on line 0
目前無(wú)法解決此問(wèn)題,幸好目前沒(méi)有使用到Identity.ice