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.inietc/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 和 comment 行 pdo_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 + O、control + 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 删除/修复模块未找到或已加载警告?的主要内容,如果未能解决你的问题,请参考以下文章
如何修复“警告:未知道具`change-background`,<div>标签上的`colorcode`。从元素中删除这些道具”错误?
mshtml.dll被瑞星查毒删除,网页无法打开,瑞星也进不来如何修复