【问题标题】:PHP Warning: Module 'soap' already loaded in Unknown on line 0PHP 警告:模块 'soap' 已在第 0 行的未知中加载
【发布时间】:2019-05-31 08:33:39
【问题描述】:

嗨,我遇到了这个错误的问题:PHP 警告:模块 'soap' 已加载到 Unknown on line 0

我正在媒体殿堂上运行 vps。我从他们的知识库中得到了一些说明,并完全按照描述进行了操作。但是,为了查看 SOAP 是否正确安装,我转到命令行并运行“pear list”,这就是我得到的。

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。

我是新手,所以任何帮助将不胜感激!谢谢!

【问题讨论】:

    标签: php bash soap


    【解决方案1】:

    在其中一个文件中注释掉 extension=soap:

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

    ;extension=soap
    

    【讨论】:

    • 我评论那行并为我工作,谢谢。但是如果我们有更多的项目,如果我们想同时开发一个以上的项目,我们该如何管理。我们如何处理这些冲突
    【解决方案2】:

    看起来您正在多次加载“soap”模块 而不是rep extension /usr/local/lib/php.ini,您应该使用grep 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 文件

    对于我的 redhat 服务器:

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

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

    【讨论】:

    • 嗨!感谢您的答复。所以我所做的是我进入终端的命令行并输入: grep extension /usr/local/lib/php.ini 这就是我得到的: grep: /usr/local/lib/php.ini : 没有这样的文件或目录
    • @user2690257 在您的问题中,您正在搜索 /usr/local/lib/php.ini,以为那是您的 php.ini 位置。我已经更新了我的回复,请尝试加载 php.ini 和任何其他额外的 ini。谢谢。
    【解决方案3】:

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

    然后:

    ls | grep soap

    将列出两个文件:

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

    在其中一个文件中注释 extension=soap.so:

    ;extension=soap.so

    完成。

    如果您使用的是 Docker,请在 /workspace/Dockerfle 中注释以下行:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2015-12-22
        • 2016-04-10
        • 1970-01-01
        • 1970-01-01
        • 2016-05-25
        • 2016-04-14
        • 2016-06-06
        • 1970-01-01
        • 2016-08-09
        相关资源
        最近更新 更多