【问题标题】:PHP remove/fix module not found or already loaded warnings?PHP 删除/修复模块未找到或已加载警告?
【发布时间】:2013-11-08 08:30:30
【问题描述】:

当我从命令行运行 php 脚本时,如下所示

php test.php

我得到以下输出

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

如何修复或删除这些模块警告?我在

中检查了 php.ini
etc/php.ini 

输出

php -i | grep php.ini
PHP Warning:  Module 'memcache' already loaded in Unknown on line 0
PHP Warning:  Module 'apc' already loaded in Unknown on line 0
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

我没有看到任何加载或对这两个模块的任何引用...

请帮忙

【问题讨论】:

  • 你试过了吗? somacon.com/p520.php ?我的命令行 php.ini 也位于 /etc/php5/cli/php.ini 。也许您在其他地方还有其他配置

标签: php php-ini


【解决方案1】:

当您安装 php5-memcache 时,它​​会添加它自己的 memcache.ini 文件,该文件已设置为加载该扩展。因此,只需从您的 php.ini 中删除/注释加载扩展。

 ;extension=memcache.so

与 APC(替代 PHP 缓存模块)类似。

 ;extension=apc.so

【讨论】:

  • 正如我在我的问题中所说,我的 php.ini 中没有该行,所以我在哪里寻找?
  • 你可能看错了 php.ini。你试过 php -i | grep php.ini ?
  • 不,只有一个且只有一个 php.ini 文件,yoru 命令的输出是 PHP 警告:模块 'memcache' 已在第 0 行的未知中加载 PHP 警告:模块 'apc' 已在未知中加载第 0 行配置文件 (php.ini) 路径 => /etc 加载的配置文件 => /etc/php.ini
  • @mahen3d ,它可能是从另一个专用于 memcache 的 ini 文件加载的,因此请检查 /etc/php5/cli/conf.d/memcache.ini 之类的内容
【解决方案2】:

我也有同样的情况。就我而言,问题是我在 /etc/php5/cli/conf.d/ 中有两个用于 memcache 的配置文件。

php -i | grep memcache.ini

在我的情况下,结果是:

/etc/php5/cli/conf.d/20-memcache.ini,
/etc/php5/cli/conf.d/memcache.ini

为了消除警告消息,我从 memcache.ini 文件中删除了 extension=memcache.so 行。

【讨论】:

    【解决方案3】:

    如果你使用的是php5.4(CentOS 6.5),

    • 转到/etc/php.d/
    • memcache.ini 中评论扩展

      ;extension=memcache.so
      
    • 同样在apc.ini

      ;extension=apc.so
      

    【讨论】:

      【解决方案4】:

      这些模块可能被列出两次,因此您会收到错误“已加载”。 找出加载了哪些配置文件

      php -i | grep 'Loaded Configuration File'
      php -i | grep 'ini'
      

      这将告诉您加载和解析了哪些 .ini 文件(解析了其他 .ini 文件)。

      查看具体文件,将第二次出现注释掉(如下)

      ;extension=memcache.so
      ;extension=apc.so
      

      【讨论】:

        【解决方案5】:

        如果你不想在配置文件中更新, 只需在您的页面或构造函数顶部添加“error_reporting(0)

        【讨论】:

          【解决方案6】:

          有配置文件模块/etc/php5/mods-available

          打开文件 pdo_mysql.ini 和 commentpdo_mysql.so

          服务 apache2 之后 | php5-fpm重启看你有没有用你

          【讨论】:

            【解决方案7】:

            我来这里是为了寻找类似错误的解决方案,即Warning: Module 'pdo_pgsql' already loaded in Unknown on line 0。 在查看了各个站点之后,这是我想出的解决方案。 它对我有用,希望对有类似问题的人有用。

            • 找到文件夹 conf.d,我的在目录中 /usr/local/etc/php/7.0/conf.d
            • 在此文件夹中,有一个名为ext-pdo_pgsql.ini文件
            • 输入 sudo nano ext-pdo_pgsql.ini 进行编辑。
            • 应该有一行extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so"。评论它 通过在行首添加分号,即 ;extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so"
            • 保存文件。 (我通常运行 control + Ocontrol + M)。
            • 退出文件(control + X)。

            【讨论】:

              【解决方案8】:

              我遇到了同样的错误,

              Module 'sphinx' already loaded
              

              您需要找到多次加载的模块(.ini)并删除其中一个,

              ubuntu@webserver:~$ grep -R "sphinx" /etc/php5/*
              
              /etc/php5/fpm/conf.d/sphinx.ini:extension=sphinx.so
              /etc/php5/fpm/conf.d/20-sphinx.ini:extension=sphinx.so
              
              ubuntu@webserver:~$ sudo rm /etc/php5/fpm/conf.d/sphinx.ini
              

              【讨论】:

                猜你喜欢
                • 2016-11-05
                • 2014-03-22
                • 2016-05-25
                • 2017-09-09
                • 2015-12-22
                • 2017-02-24
                • 2016-04-10
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多