如何在Linux上启用php中的--enable-soap?

时间:2012-07-20 17:46:22

标签: php linux soap fedora

这就是问题所在。我在Apache上有PHP 5.2.9,我无法升级PHP。有没有办法让我在PHP 5.2.9中启用SOAP? PHP手册没有任何帮助,它说,“要启用SOAP支持,请使用--enable-soap配置PHP。”我该如何配置?

3 个答案:

答案 0 :(得分:139)

获取SOAP通常不需要从源代码编译PHP。我建议只尝试作为最后一个选项。

为了更好地衡量,请检查您的phpinfo对SOAP扩展的说法(如果有的话):

$ php -i | grep -i soap

确保它是缺少的PHP扩展。

假设您在phpinfo中没有看到任何关于SOAP的信息,请参阅哪些PHP SOAP包可供您使用。

在Ubuntu / Debian中,您可以搜索:

$ apt-cache search php | grep -i soap

或在RHEL / Fedora中,您可以搜索:

$ yum search php | grep -i soap

通常有两个PHP SOAP包可供您使用,通常是php-soapphp-nusoapphp-soap通常是使用--enable-soap配置PHP所能获得的。

在Ubuntu / Debian中,您可以安装:

$ sudo apt-get install php-soap

或者在RHEL / Fedora中,您可以安装:

$ sudo yum install php-soap

安装后,您可能需要放置一个ini文件并重新启动Apache。

答案 1 :(得分:6)

就你的问题而言:不,如果从.ini激活是不够的,你无法升级PHP,那么你无能为力。可以添加一些模块,但不是全部,无需重新编译(zypper install php5-soapyum install php-soap)。如果还不够,请尝试安装一些PEAR类来解释SOAP支持(NuSOAP等)。

通常,双击--switches旨在从头开始重新编译PHP时使用。

您可以下载PHP源代码包(作为压缩的.tgz tarball,比如说),将其展开到某处然后,例如在Linux下,运行configure脚本

./configure --prefix ...

PHP使用的configure命令可能会显示phpinfo()。重复它相同应该给你一个你现在安装的PHP的精确副本。然后,添加--enable-soap将启用SOAP以及其他所有内容。

那就是说,如果你不熟悉PHP重新编译,那么不要这样做。它还需要您可能或可能没有的几个辅助库 - freetypegdlibjpegXMLexpat等等等等(它们安装是不够的;它们必须是开发人员版本,即带有标题等等;在大多数发行版中,安装了libjpeg可能还不够,您可能还需要libjpeg-dev

为了我的重新编译目的,我必须保留一个单独的虚拟机,其中包含所有内容。

答案 2 :(得分:5)

如果您的计算机上有Ubuntu,以下步骤将对您有所帮助:

  1. 如果您使用soap(客户端/服务器)或不使用phpinfo(),请先检查您的php测试文件;并在浏览器中检查结果。 如果您拥有它,它将如下图所示(如果没有转到第2步):
  2. enter image description here

    1. 打开终端并粘贴:sudo apt-get install php-soap。

    2. 在终端重新启动apache2服务器:service apache2 restart。

    3. 要检查再次使用您的php测试文件在步骤1中看起来像我的。