这就是很多问题。我在Apache上具有PHP 5.2.9,并且无法升级PHP。我有办法在PHP 5.2.9中启用SOAP吗?PHP手册说“要启用SOAP支持,请使用--enable-soap配置PHP”完全没有帮助。如何配置?
这就是很多问题。我在Apache上具有PHP 5.2.9,并且无法升级PHP。我有办法在PHP 5.2.9中启用SOAP吗?PHP手册说“要启用SOAP支持,请使用--enable-soap配置PHP”完全没有帮助。如何配置?
Answers:
使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-soap
和php-nusoap
。php-soap
通常是使用来配置PHP的结果--enable-soap
。
在Ubuntu / Debian中,您可以安装:
$ sudo apt-get install php-soap
或者在RHEL / Fedora中,您可以安装:
$ sudo yum install php-soap
安装后,您可能需要放置一个ini文件并重新启动Apache。
dnf install php-soap
今天的工作罚款32位的Fedora 22
apt-get install php7.0-soap
apt-get install php-soap
与PHP7.0上的Ubuntu 16.04仍然为我工作。
sudo service php-fpm restart
像我在AWS上所做的那样
就您的问题而言:不,如果从激活.ini
还不够,并且您不能升级PHP,那么您无能为力。可以添加某些模块,但不是全部模块,而无需重新编译(zypper install php5-soap
,yum install php-soap
)。如果这还不够,请尝试安装一些PEAR类以获得解释性的SOAP支持(NuSOAP等)。
通常,双破折号--switches
设计用于从头开始重新编译PHP。
您将下载PHP源代码包(例如,压缩的.tgz
tarball),将其展开到某个位置,然后,例如在Linux下,运行configure脚本
./configure --prefix ...
configure
PHP使用的命令可能显示为phpinfo()
。重复相同的操作,将为您提供现在已安装的PHP的准确副本。--enable-soap
然后,添加将启用SOAP以及其他所有功能。
就是说,如果您不熟悉PHP重新编译,请不要这样做。这还需要一些辅助库,你可能会,也可能不会,有可用的- ,freetype
,gd
,libjpeg
,XML
,expat
等等等等(这还不够,他们被安装;他们必须是一个开发者版本,即与头部等;在大多数发行版中,仅libjpeg
安装还不够,您可能libjpeg-dev
还需要)。
为了重新编译,我必须保留一个单独的虚拟机并安装所有内容。