PHP警告:模块'???'已经在第0行的Unknown中加载
本页介绍如何解决以下PHP警告: PHP警告:模块'modulename'已在第0行中的Unknown中加载
例如:
PHP Warning: Module 'redis' already loaded in Unknown on line 0
问题
从命令行运行CLI版本的PHP时,可能会收到类似以下的错误:
[root @ myserver / root] $ php -v
PHP警告:模块'pcre'已经在第0行加载了Unknown
PHP警告:PHP启动:无法加载动态库'/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/spl.so' - / usr / local / php5 / lib / php /extensions/no-debug-non-zts-20060613/spl.so:第0行未知中的未定义符号“pcre_exec”
PHP警告:Module'SimpleXML'已经在第0行的Unknown中加载
PHP警告:模块“会话”已在第0行的未知中加载
PHP警告:模块'exif'已经在第0行加载了Unknown
PHP 5.2.3(cli)(内置:2007年6月14日15:29:17)
版权所有(c)1997-2007 The PHP Group
Zend Engine v2.2.0,版权所有(c)1998-2007 Zend Technologies
原因
有两种方法可以在PHP中加载大多数扩展。 一种是直接将扩展编译到PHP二进制文件中。另一种是通过一个ini文件动态加载共享扩展。 错误表明动态扩展正在通过.ini文件加载,即使它们已经被编译到PHP二进制文件中。
固定
要解决这个问题,你必须编辑你的php.ini(或extensions.ini)文件并注释掉已经编译好的扩展。 例如,在编辑之后,您的ini文件可能如下所示:
;延长= pcre.so ;延长= spl.so ;延长= simplexml.so ;延长= session.so ;延长= exif.so
您也可以删除这些行,而不是将它们注释掉。 一旦你禁用了这些行,运行php -v
来查看警告是否消失。
附加信息
要查看哪些扩展被编译到您的PHP二进制文件中,请运行以下命令:
php -m
您还可以查看configure命令,该命令将显示启用和编译哪些扩展,或构建为共享的动态模块。
php -i | grep配置
动态扩展通常位于特殊的“扩展”文件夹中,该文件夹因操作系统环境而异。 你的php.ini通常有一行描述文件夹的位置。 例如:
; 可加载扩展名(模块)所在的目录。 extension_dir =“/ usr / local / php5 / lib / php / extensions / no-debug-non-zts-20060613 /”
免责声明:此内容按原样提供。 信息可能不正确。