PHP 删除/修复模块未找到或已加载警告?

Posted

技术标签:

【中文标题】PHP 删除/修复模块未找到或已加载警告?【英文标题】:PHP remove/fix module not found or already loaded warnings? 【发布时间】: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 。也许您在其他地方还有其他配置 【参考方案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

【讨论】:

以上是关于PHP 删除/修复模块未找到或已加载警告?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 Next.js Vercel 部署模块未找到错误

节点模块未安装

如何修复“警告:未知道具`change-background`,<div>标签上的`colorcode`。从元素中删除这些道具”错误?

mshtml.dll被瑞星查毒删除,网页无法打开,瑞星也进不来如何修复

“加载项警告。此加载项的许可证信息丢失或已过期,因此它的功能可能有限”

未找到 Sass 相关模块?