大家好:
   我想在PHP中扩展Berkeley DB XML,我的PHP安装路径是"C:\PHP",Berkeley DB XML的按照路径是"C:\Program Files\Oracle\Berkeley DB XML 2.4.16"。按照Berkeley DB XML的例子,需要在php.ini中进行如下设置:
extension_dir="C:\Program Files\Oracle\Berkeley DB XML 2.4.16"
extension=php_db4.dll
extension=php_dbxml.dll这里出现一个问题,我以前的extension_dir设置的是:
extension_dir="C:\PHP\ext"把extension_dir改了过后,Berkeley DB XML的功能倒是可以使用,但是不能再用比如SOAP这些扩展功能了。我想请教一下大家,怎么配置才能同时让PHP具有Berkeley DB XML和SOAP得扩展功能呢?
我尝试了一下几种写法都不可行:
1
extension_dir="C:\Program Files\Oracle\Berkeley DB XML 2.4.16;C:\PHP\ext"2
extension_dir="C:\Program Files\Oracle\Berkeley DB XML 2.4.16"
extension_dir="C:\PHP\ext"有人知道解决方案的话请告知,不胜感激!

解决方案 »

  1.   

    extension_dir是唯一的但是我记得extension不是啊?
      

  2.   

    使用Berkeley DB XML需要设置的extension:extension=php_db4.dll 
    extension=php_dbxml.dll 都是位于目录"C:\Program Files\Oracle\Berkeley DB XML 2.4.16\bin"之下的,如果不设置extension_dir,PHP就无法加载这两个dll文件,也就无法使用Berkeley DB XML的功能。现在还没有找到一个好的解决方案,如果extension_dir只能是唯一的,那就没有办法同时用PHP的扩展功能了?
      

  3.   

    我找到一个很土的办法,但是总算把问题解决了:
    在php.ini中将extension_dir="C:\PHP\ext"一行改成:extension_dir = "C:\Program Files\Oracle\Berkeley DB XML 2.4.16\bin"后,将原来"C:\PHP\ext"的所有dll文件都拷贝到"C:/Program Files/Oracle/Berkeley DB XML 2.4.16/bin"目录中去
    然后重启计算机,就可以同时在PHP用SOAP等扩展和Berkeley DB XML了。
    貌似extension_dir只能设置一个目录,我不太确定,仍旧期待高手指点更好的办法。