install_driver(mysql) 失败:无法获取 DBI 状态函数。DBI 未加载

install_driver(mysql) 失败:无法获取 DBI 状态函数。DBI 未加载

我从 rpm 安装了 OTRS,但 Web 安装程序/orts/installer.pl停止并显示:

AJAX 通信期间出错。状态:错误,错误:内部服务器错误

Apache 错误日志

install_driver(mysql) 失败:无法获取 DBI 状态函数。DBI 未加载。

/opt/otrs/bin/otrs.CheckModules.pl

DBD::mysql.........................失败!未正确安装此模块的所有先决条件。YAML::XS...........................未安装!(必需 - 使用“perl -MCPAN -e shell;” - )

sudo zypper install perl-DBD-mysql-4.021-27.2.x86_64.rpmNothing to do.和mysql配置设置为手动的要求。

系统是 SLES 11 SP2 (x86_64),特殊之处是:没有互联网连接!

我想问题是:为什么 perl 在安装时找不到 DBI:mysql?

更新

列出已安装的模块

/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Bundle/DBI.pm /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Bundle/DBD/mysql.pm /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/DBD/mysql.pm /usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/DBD/mysql/GetInfo.pm

我可能安装了错误的 rpm 吗?

答案1

此错误消息确实意味着 perl 找不到 DBD::mysql 模块。因此,如果安装了 rpm 包,这让我认为您可能没有使用系统 perl。

您能否向我们展示:

which perl

并且:

/usr/bin/perl /opt/otrs/bin/otrs.CheckModules.pl

一般而言,在现有系统 perl 之上安装自己的 perl 并不是一个好主意。这可能会破坏需要特定 perl 版本的其他已安装软件包。

如果你想在你的系统上使用不同的 perl,可以使用以下工具普伦夫或者perlbrew

此外,OTRS 通常与 SLES 11 上的系统 perl 配合使用。

答案2

事实证明,perl-DBD-mysql-4.021-27.2.x86_64.rpm对于我的 perl 版本来说,它太新了。我查看了SLES 11 PS2(x86_64)并了解到它应该是perl-DBD-mysql-4.008-4.3.x86_64.rpm。所以我删除了已安装的那个:

sudo zypper remove perl-DBD-mysql

通过 Google 搜索并安装perl-DBD-mysql-4.008-4.3.x86_64.rpm。’

现在它起作用了!

相关内容