23

当我从命令行运行 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

我在那里看不到任何加载或对这两个模块的任何引用...

请帮忙

4

8 回答 8

15

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

 ;extension=memcache.so

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

 ;extension=apc.so
于 2013-10-29T09:26:02.827 回答
15

我也有同样的情况。就我而言,问题是我在 /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

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

于 2014-03-08T06:39:03.527 回答
5

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

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

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

    ;extension=apc.so
    
于 2014-07-08T10:41:45.200 回答
2

我来这里是为了寻找类似错误的解决方案,即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)。
于 2017-05-15T08:50:44.507 回答
0

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

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

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

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

;extension=memcache.so
;extension=apc.so
于 2015-04-28T22:48:50.263 回答
0

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

打开文件 pdo_mysql.ini 和注释pdo_mysql.so

售后服务 apache2 | php5-fpm 重启取决于你是否使用你

于 2016-09-03T20:49:51.517 回答
0

我遇到了同样的错误,

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
于 2017-09-05T09:16:45.957 回答
-1

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

于 2016-07-29T08:55:54.377 回答