如何在 CentOS 上启用 SOAP

2022-08-30 12:54:01

我们有 CentOS 的 VPS。我已使用以下命令安装了 SOAp:

$ yum install php-soap

然后,我转到该文件以取消注释 SOAP 扩展名。它不存在,所以我添加了以下行:php.ini

extension=soap.so

然后我通过运行来重新启动服务器

$ service httpd restart

但 SOAP 仍未启用。我收到消息。Fatal error: Class 'SoapClient'

如果我尝试再次安装它,我收到以下消息:

Package php-soap-5.3.3-27.el6_5.x86_64 already installed and latest version

我也尝试使用以下命令重新配置PHP:

$ php-config '--disable-fileinfo' '--disable-pdo' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-libxml' '--enable-sockets' '--prefix=/usr/local' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-curl=/opt/curlssl/' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-kerberos' '--with-libdir=lib64' '--with-libxml-dir=/opt/xml2/' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pic' '--with-zlib' '--with-zlib-dir=/usr' '--enable-soap'

有什么帮助吗?


答案 1

在我看来,第一件事是将肥皂安装到Centos中

yum install php-soap


二、看肥皂包装是否存在

yum search php-soap

第三,因此您必须看到您安装的肥皂包的一些结果,现在在终端的根文件夹中键入一个命令,用于搜索肥皂的位置以获取特定路径

find -name soap.so

第四,您将看到其安装/位置的确切路径,只需复制路径并找到php.ini即可添加扩展路径,

通常,centos 6 中 php.ini 文件的路径位于

/etc/php.ini

第五,从下面添加一行代码到php.ini文件中

extension='/usr/lib/php/modules/soap.so'

,然后保存文件并退出。

在 Centos 中第六次运行 apache 重新启动命令。我认为有两个命令可以重新启动您的apache(以您更容易的方式为准)

service httpd restart

apachectl restart

最后,在浏览器中检查phpinfo()输出,您应该看到SOAP部分,其中列出了SOAP客户端,SOAP服务器等并显示已启用。


答案 2

在 CentOS 7 上,以下方法有效:

yum install php-soap

这将自动在 /etc/php.d 下创建一个 soap.ini。

对我来说,扩展本身就存在于 /usr/lib64/php/modules 中。您可以通过执行以下操作来确认扩展目录:

php -i | grep extension_dir

安装后,您可以使用新的服务管理器重新启动Apache,如下所示:

systemctl restart httpd

感谢 Matt Browne 提供有关 /etc/php.d 的信息。


推荐