首先说下环境,centos的操作系统,php5.3.8,apache 2.2.21,运行了一个discuz项目,本来已经运行正常了,现在想用web service相关,所以想加载soap模块,根据网上的做法,将php重新编译,生成soap.so,再将php.ini相关修改,然后在命令行中输入php -m如下图  php -i 如下图  在命令行中输入 php -r "new SoapClient(里面的东西就不写了);"; 运行也没有报错,但是在php的页面中写<?php phpinfo() ?>下输出的页面中就是没有加载soap模块 其Configure Command  './configure' '--prefix=/usr/local/php5' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-freetype=/usr/local/freetype' '--enable-trace-avrs' '--with-mysql=/usr/local/mysql' '--with-zlib' '--with-libxml=/usr/local/libxml2' '--enable-shared' '--with-curl=/usr/local/curl' '--with-expat=/usr/local/expat' '--with-gd' '--with-jpeg-dir=/usr/local/jpeg6' '--with-png' '--enable-mbstring=all' '--enable-mbrege' '--enable-so'是这样的,后面也没有soap的选项,在<?php $s = new SoapClient(''); ?>语句时,也显示出class soapclient not found... 

解决方案 »

  1.   

    进到源代码目录的ext/soap/ ,用phpize单独编译soap模块,生成.so,配置到php.ini去。
      

  2.   

    能说具体点么
    csdn上图真疼  
    上面两张图的意思是命令行中  php -m  显示已经加载soap模块了  php -i中也显示了soap client已经enable   
    但是在php页面中就各种问题了  
      

  3.   

    按照网上的说法将php重新编译了的,而且也配置了的
      

  4.   

    路径应该没问题
    我在php -i中看过各个路径与我想联系的路径是一致的
      

  5.   

    在命令行中输入 php -r "new SoapClient(里面的东西就不写了);"; 运行也没有报错,但是在php的页面中写<?php phpinfo() ?>下输出的页面中就是没有加载soap模块 
    ===================================================================
    你命令行的php和apache下运行的php很有可额载入的不同的php.ini文件,你命令行下php --ini看下是不是和网页里看到的php.ini路径是一样的。
      

  6.   

    命令行php --ini和网页里看的phpinfo()里的php.ini做下对比。
      

  7.   

    重新编译 没其他的.笨鸟先飞说的,重新单独编译,不在php编译的时候编译
      

  8.   

     configured with --enable-soap.
      

  9.   

    嗯 在php -i里面是Configuration File (php.ini) Path => /etc/php.inisoapSoap Client => enabled
    Soap Server => enabledDirective => Local Value => Master Value
    soap.wsdl_cache => 1 => 1
    soap.wsdl_cache_dir => /tmp => /tmp
    soap.wsdl_cache_enabled => 1 => 1
    soap.wsdl_cache_limit => 5 => 5
    soap.wsdl_cache_ttl => 86400 => 86400
    在<?php phpinfo() ?>通过页面显示了就是
    Configuration File (php.ini) Path /usr/local/php5/lib
      

  10.   

    而且没有soap相关模块
    看来在apache中加载的不是我想要的模块
      

  11.   

    之前是php是编译好,soap是后来重新编译的