PHP警告:模块';肥皂';已在第0行的“未知”中加载


PHP Warning: Module 'soap' already loaded in Unknown on line 0

嗨,我有这个错误的问题:PHP警告:模块'soap'已经在第0行的未知中加载

我在媒体圣殿上运行vps。我从他们的知识库中得到了一些指示,并按照描述进行了操作。然而,为了查看SOAP是否正确安装,我转到命令行并运行"pearlist",这就是我得到的。

PHP Warning:  Module 'soap' already loaded in Unknown on line 0
Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.11  stable
Console_Getopt   1.3.1   stable
PEAR             1.9.4   stable
Structures_Graph 1.0.4   stable
XML_Util         1.2.1   stable
[root@w8ld-gg7p ~]# rep extension /usr/local/lib/php.ini
-bash: rep: command not found
[root@w8ld-gg7p ~]# 

有人能告诉我我做错了什么吗?首先,它不会在已安装的包列表中加载SOAP。第二,我在未知错误中加载了SOAP。

我是一个新手,所以任何帮助都将不胜感激!非常感谢。

在其中一个文件中注释扩展名=soap:

例如=在您的Xampp(php.ini)中

;extension=soap

看起来像是多次加载"soap"模块应该使用grep extension /usr/local/lib/php.ini来搜索加载了的模块,而不是rep extension /usr/local/lib/php.ini

如果你的ini在不同的位置,你需要找到它在哪里。

  1. 如果你从网页上得到PHP警告,你可以用这个创建一个文件作为内容:

    <?php
    phpinfo();
    ?> in your browser, search for "Loaded Configuration File" and "Scan this dir for additional .ini files"
    
  2. 如果在shell上运行PHP时收到PHP警告,请在外壳:

    php -r "phpinfo();" | awk '/^Loaded|^Scan/ {print $NF}'
    

取决于您的安装,除了php.ini之外,php.d中可能还有ini文件

对于我的红帽子服务器:

注意:打包的扩展模块现在通过.ini文件加载

在目录/etc/php.d中找到;这些都是默认加载的。

转到:/etc/php/7.0/cli/conf.d/

然后:

ls | grep soap

将列出两个文件:

  • 20-soap.ini
  • 40-soap.ini

在其中一个文件中注释扩展名=soap.so:

;extension=soap.so

完成。

如果您正在使用Docker,请在您的/workspace/Dockerfle:中评论以下行

echo "extension=soap.so" >> /etc/php/7.0/cli/conf.d/40-soap.ini

我在mbstring模块上遇到了类似的问题。由于我们有两个php.ini文件,一个在apache2中,另一个在cli中。您应该只在一个php.ini中取消注释(并因此加载);extension=php_soap.dll(so)这应该会抑制警告。