PHP 警告:第 0 行的未知模块已加载
PHP Warning: Module already loaded in Unknown on line 0
On Mac OSX Mavericks using homebrew php55 每当我 运行 a php 命令时,我收到以下错误消息(一切 运行很好,只是很烦人)
PHP Warning: Module 'intl' already loaded in Unknown on line 0
我运行
php --ini
输出为
php --ini
PHP Warning: Module 'intl' already loaded in Unknown on line 0
Warning: Module 'intl' already loaded in Unknown on line 0
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File: /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed: /usr/local/etc/php/5.5/conf.d/ext-apcu.ini,
/usr/local/etc/php/5.5/conf.d/ext-igbinary.ini,
/usr/local/etc/php/5.5/conf.d/ext-intl.ini,
/usr/local/etc/php/5.5/conf.d/ext-memcached.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.5/conf.d/ext-uuid.ini,
/usr/local/etc/php/5.5/conf.d/ext-xdebug.ini
检查了 php.ini 文件,唯一加载 intl 的地方在顶部,它被注释掉了。其他文件内容类似于:
extension="/usr/local/Cellar/php55/5.5.23/lib/php/extensions/no-debug-non-zts-20121212/intl.so"
其中最后一个斜杠后的内容是扩展名。
我不确定还有什么地方可以看。
感谢任何帮助
我想你已经加载了 Xdebug probably twice in php.ini
。
检查 php.ini
,没有为值 extension=
和 zend_extension=
.
设置 xdebug.so
还要检查 /etc/php5/apache2
和 /etc/php5/cli/
。您不应在这些目录中的每个 php.ini
中加载扩展名 xdebug.so
。只有一个文件,php.ini
应该加载它。
注意:路径里面是字符串/etc/php5
。 5 是 PHP 的版本。所以如果你使用另一个版本,你总是会得到不同的路径,比如 php7
.
你应该有一个 /etc/php2/conf.d 目录(至少在 Ubuntu 我有)包含一堆 .ini 文件,所有这些文件都被加载当 php 运行时。这些文件可能包含与 php.ini
中的设置冲突的重复设置。在我的 PHP 安装中,我注意到一个文件 conf.d/20-intl.ini
具有 extension=intl.so
设置。我打赌那是你的冲突。
php.ini 文件中有两个 "php_intl.dll" 文件,位于 872 和 968 数字行。如果 php 警告模块 'intl' 已在第 0 行未知中加载,则此消息集中在您的 CLI 上。然后你应该删除第 872 行的分号前缀。我希望这会完成.....
我从 Fedora Server 24 (PHP 5) 升级到 25 (PHP 7)。经过调查,我发现 /etc/php.d/
有两个不同的 .ini
文件加载 extension=geoip.so
.
以前版本的发行版有这个文件名为 50-geoip.ini
但最近的文件被更改为 40-geoip.ini
,我怀疑在版本升级过程中旧的没有被删除,而已创建新的。
这就是问题的实际情况。从 /etc/php.d/
中删除杂散的 50-geoip.ini
并重新启动 httpd
后,它运行得非常完美。
要解决此问题,您必须编辑 php.ini(或 extensions.ini)文件并注释掉已编译的扩展。例如,编辑后,您的 ini 文件可能如下所示:
;extension=pcre.so
;extension=spl.so
我在 mac 上遇到了同样的问题,即 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)。
希望这对某人有所帮助。
我删除了 /etc/php5/cli/conf.d 中的 20-mongo.ini 文件,这解决了问题。
在我的例子中,我取消注释了 php.ini 中的 ;extension=php_curl.so,但是 Ubuntu 已经在其他地方调用了这个扩展。
要找到这个 "somewhere else",将在 php.ini 上通知我。就我而言:
/etc/php/7.1/apache2/conf.d/20-curl.ini 是路径。
现在我们编辑这个文件(终端):
sudo nano /etc/php/7.1/apache2/conf.d/20-curl.ini
评论;extension=php_curl.so
保存文件并重启apache:
sudo systemctl restart apache2
我遇到了类似的问题,问题是扩展名 intl 重复了。
您可以检查文件 C:/xampp/php/php.ini 并找到 "intl"。在我的情况下 extension=intl 已经存在,我再次滚动并找到第二个 intl "extension=php_intl.dll".
分机必须要执行一次不能再执行分机国际。这将显示这样的错误 "Module 'intl' already loaded"。
我通过像这样 ;extension=php_intl.dll
使用“;
”注释掉 extension=php_intl.dll
来修复它。并重新启动了 apache 服务。
仅作记录,因为它可能会帮助共享主机 (cPanel) 上的其他人。
我在共享主机上出错 php7.2:
模块 'imagick' 已在第 0
行未知中加载
一开始托管服务提供商说这是我的错误配置 (运行 Yii2.16)。但在我向他们展示之后,所有互联网都将此问题与服务器配置相关 - 他们开始听我说。在我证明 php7.1 上没有错误后,他们开始搜索错误。
正如他们告诉我的那样 - 错误是由于 PERL 模块或 PEAR 包中的配置引起的,但他们没有告诉我真正的问题。
因此,如果您使用的是共享主机 - 与您的提供商联系并尝试使用 PHP 版本(如果您可以更改它们)。
在php.ini
中注释掉这两行
;extension=imagick.so
;extension="ixed.5.6.lin"
应该可以解决问题。
For issue related to code igniter project upload,
go to the base directory index.php and add this code:
if ($_SERVER['SERVER_NAME'] == 'local_server_name') {
define('ENVIRONMENT', 'development');
} else {
define('ENVIRONMENT', 'production');
}
if (defined('ENVIRONMENT')){
switch (ENVIRONMENT){
case 'development':
error_reporting(E_ALL);
break;
case 'testing':
case 'production':
error_reporting(0);
break;
default:
exit('The application environment is not set correctly.');
}
}
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
我通过打印 PHP 配置并通过 xml.ini 搜索来解决这个问题。请注意在以下输出中 xml 是如何加载两次的(首先是 20-xml.ini 然后是 xml.ini):
$ php -i | grep xml
/etc/php.d/20-simplexml.ini,
/etc/php.d/20-xml.ini,
/etc/php.d/20-xmlwriter.ini,
/etc/php.d/30-xmlreader.ini,
/etc/php.d/xml.ini
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
libxml Version => 2.9.1
libxml
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text /|application/xhtml\+xml)
xml
libxml2 Version => 2.9.1
xmlreader
xmlwriter
libxslt compiled against libxml Version => 2.9.1
对于共享主机,我在 cPanel 中取消选中 "Select PHP Version" > "Extensions" 下的相关模块,PHP 7.4 的错误消失了。
在 Windows 10 中,我通过这样的评论解决了这个问题
;extension=php_sockets.dll
运行 php --ini
并注意 Loaded Configuration File
.
上的文件路径
然后 运行 命令如 cat -n /etc/php/7.2/cli/php.ini | grep intl
来查找扩展名是否被注释。
然后通过添加 ;
例如 ;extension=intl
的注释行更新加载的配置文件
当您安装 php-intl
软件包并在 php.ini
文件上启用相同的扩展时,可能会发生这种情况。
如果您使用的是共享主机,只需应用默认 php 设置即可。 Cpanel 将 php 设置覆盖为默认设置。
我在 Windows 10 和 PHP 7.2.10 中使用 WAMP。我能够通过在 wamp64\bin\php\php7.2.10 .
中的 php.ini 中注释行 extension=ftp
来解决它
我不确定,但我猜为什么会发生这种情况是因为我在 wamp64\bin\apache\apache2.4.35\bin 中的 php.ini 已经加载了这个模块。
完成后务必重启WAMP的所有服务。
我遇到了同样的问题,所以我评论了 extension=mysqli
,因为我将其包含在 运行 sql 服务器中。 检查您是否取消注释此扩展=mysqli 如果是,请将 ;
放入 php.ini
我通过从 extension=grpc 中删除 php.ini 文件解决了这个问题 ;扩展=grpc
通过注释 extension=curl 解决
On Mac OSX Mavericks using homebrew php55 每当我 运行 a php 命令时,我收到以下错误消息(一切 运行很好,只是很烦人)
PHP Warning: Module 'intl' already loaded in Unknown on line 0
我运行
php --ini
输出为
php --ini
PHP Warning: Module 'intl' already loaded in Unknown on line 0
Warning: Module 'intl' already loaded in Unknown on line 0
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File: /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed: /usr/local/etc/php/5.5/conf.d/ext-apcu.ini,
/usr/local/etc/php/5.5/conf.d/ext-igbinary.ini,
/usr/local/etc/php/5.5/conf.d/ext-intl.ini,
/usr/local/etc/php/5.5/conf.d/ext-memcached.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.5/conf.d/ext-uuid.ini,
/usr/local/etc/php/5.5/conf.d/ext-xdebug.ini
检查了 php.ini 文件,唯一加载 intl 的地方在顶部,它被注释掉了。其他文件内容类似于:
extension="/usr/local/Cellar/php55/5.5.23/lib/php/extensions/no-debug-non-zts-20121212/intl.so"
其中最后一个斜杠后的内容是扩展名。
我不确定还有什么地方可以看。
感谢任何帮助
我想你已经加载了 Xdebug probably twice in php.ini
。
检查
设置php.ini
,没有为值extension=
和zend_extension=
.xdebug.so
还要检查
/etc/php5/apache2
和/etc/php5/cli/
。您不应在这些目录中的每个php.ini
中加载扩展名xdebug.so
。只有一个文件,php.ini
应该加载它。注意:路径里面是字符串
/etc/php5
。 5 是 PHP 的版本。所以如果你使用另一个版本,你总是会得到不同的路径,比如php7
.
你应该有一个 /etc/php2/conf.d 目录(至少在 Ubuntu 我有)包含一堆 .ini 文件,所有这些文件都被加载当 php 运行时。这些文件可能包含与 php.ini
中的设置冲突的重复设置。在我的 PHP 安装中,我注意到一个文件 conf.d/20-intl.ini
具有 extension=intl.so
设置。我打赌那是你的冲突。
php.ini 文件中有两个 "php_intl.dll" 文件,位于 872 和 968 数字行。如果 php 警告模块 'intl' 已在第 0 行未知中加载,则此消息集中在您的 CLI 上。然后你应该删除第 872 行的分号前缀。我希望这会完成.....
我从 Fedora Server 24 (PHP 5) 升级到 25 (PHP 7)。经过调查,我发现 /etc/php.d/
有两个不同的 .ini
文件加载 extension=geoip.so
.
以前版本的发行版有这个文件名为 50-geoip.ini
但最近的文件被更改为 40-geoip.ini
,我怀疑在版本升级过程中旧的没有被删除,而已创建新的。
这就是问题的实际情况。从 /etc/php.d/
中删除杂散的 50-geoip.ini
并重新启动 httpd
后,它运行得非常完美。
要解决此问题,您必须编辑 php.ini(或 extensions.ini)文件并注释掉已编译的扩展。例如,编辑后,您的 ini 文件可能如下所示:
;extension=pcre.so
;extension=spl.so
我在 mac 上遇到了同样的问题,即 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)。
希望这对某人有所帮助。
我删除了 /etc/php5/cli/conf.d 中的 20-mongo.ini 文件,这解决了问题。
在我的例子中,我取消注释了 php.ini 中的 ;extension=php_curl.so,但是 Ubuntu 已经在其他地方调用了这个扩展。
要找到这个 "somewhere else",将在 php.ini 上通知我。就我而言: /etc/php/7.1/apache2/conf.d/20-curl.ini 是路径。
现在我们编辑这个文件(终端):
sudo nano /etc/php/7.1/apache2/conf.d/20-curl.ini
评论;extension=php_curl.so
保存文件并重启apache:
sudo systemctl restart apache2
我遇到了类似的问题,问题是扩展名 intl 重复了。
您可以检查文件 C:/xampp/php/php.ini 并找到 "intl"。在我的情况下 extension=intl 已经存在,我再次滚动并找到第二个 intl "extension=php_intl.dll".
分机必须要执行一次不能再执行分机国际。这将显示这样的错误 "Module 'intl' already loaded"。
我通过像这样 ;extension=php_intl.dll
使用“;
”注释掉 extension=php_intl.dll
来修复它。并重新启动了 apache 服务。
仅作记录,因为它可能会帮助共享主机 (cPanel) 上的其他人。
我在共享主机上出错 php7.2: 模块 'imagick' 已在第 0
行未知中加载一开始托管服务提供商说这是我的错误配置 (运行 Yii2.16)。但在我向他们展示之后,所有互联网都将此问题与服务器配置相关 - 他们开始听我说。在我证明 php7.1 上没有错误后,他们开始搜索错误。
正如他们告诉我的那样 - 错误是由于 PERL 模块或 PEAR 包中的配置引起的,但他们没有告诉我真正的问题。
因此,如果您使用的是共享主机 - 与您的提供商联系并尝试使用 PHP 版本(如果您可以更改它们)。
在php.ini
;extension=imagick.so
;extension="ixed.5.6.lin"
应该可以解决问题。
For issue related to code igniter project upload,
go to the base directory index.php and add this code:
if ($_SERVER['SERVER_NAME'] == 'local_server_name') {
define('ENVIRONMENT', 'development');
} else {
define('ENVIRONMENT', 'production');
}
if (defined('ENVIRONMENT')){
switch (ENVIRONMENT){
case 'development':
error_reporting(E_ALL);
break;
case 'testing':
case 'production':
error_reporting(0);
break;
default:
exit('The application environment is not set correctly.');
}
}
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
我通过打印 PHP 配置并通过 xml.ini 搜索来解决这个问题。请注意在以下输出中 xml 是如何加载两次的(首先是 20-xml.ini 然后是 xml.ini):
$ php -i | grep xml
/etc/php.d/20-simplexml.ini,
/etc/php.d/20-xml.ini,
/etc/php.d/20-xmlwriter.ini,
/etc/php.d/30-xmlreader.ini,
/etc/php.d/xml.ini
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
libxml Version => 2.9.1
libxml
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text /|application/xhtml\+xml)
xml
libxml2 Version => 2.9.1
xmlreader
xmlwriter
libxslt compiled against libxml Version => 2.9.1
对于共享主机,我在 cPanel 中取消选中 "Select PHP Version" > "Extensions" 下的相关模块,PHP 7.4 的错误消失了。
在 Windows 10 中,我通过这样的评论解决了这个问题
;extension=php_sockets.dll
运行 php --ini
并注意 Loaded Configuration File
.
上的文件路径
然后 运行 命令如 cat -n /etc/php/7.2/cli/php.ini | grep intl
来查找扩展名是否被注释。
然后通过添加 ;
例如 ;extension=intl
当您安装 php-intl
软件包并在 php.ini
文件上启用相同的扩展时,可能会发生这种情况。
如果您使用的是共享主机,只需应用默认 php 设置即可。 Cpanel 将 php 设置覆盖为默认设置。
我在 Windows 10 和 PHP 7.2.10 中使用 WAMP。我能够通过在 wamp64\bin\php\php7.2.10 .
中的 php.ini 中注释行extension=ftp
来解决它
我不确定,但我猜为什么会发生这种情况是因为我在 wamp64\bin\apache\apache2.4.35\bin 中的 php.ini 已经加载了这个模块。
完成后务必重启WAMP的所有服务。
我遇到了同样的问题,所以我评论了 extension=mysqli
,因为我将其包含在 运行 sql 服务器中。 检查您是否取消注释此扩展=mysqli 如果是,请将 ;
放入 php.ini
我通过从 extension=grpc 中删除 php.ini 文件解决了这个问题 ;扩展=grpc
通过注释 extension=curl 解决