Apache 无法在 Mac OS X 中加载 dbi 模块

Apache 无法在 Mac OS X 中加载 dbi 模块

dbd:mysql通过安装cpan。我有以下简单脚本:

#!/usr/bin/perl -U
use DBI;
$ds = 'DBI:mysql:project:localhost'; $user = 'root'; $password = '123456';
$db = DBI->connect($ds, $user, $password) or die("Connection error\n");
$res = $db->prepare("SELECT * FROM root");
$res->execute();
while (my @row = $res->fetchrow_array()) { print $row[0]; }
$res->finish();
$db->disconnect();

当我从终端运行它时,一切都很好。但是当我在浏览器中引用它时,会发生错误。Apache 错误日志:

[错误] [客户端 127.0.0.1] install_driver(mysql)失败:无法为模块 DBD::mysql 加载‘/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle’:dlopen(/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle,1):未加载库:libmysqlclient.18.dylib

[错误] [客户端 127.0.0.1] 引用自:/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle

[错误] [客户端 127.0.0.1] 原因:在 /System/Library/Perl/5.12/darwin-thread-multi-2level/DynaLoader.pm 第 204 行未找到图像。

我安装了mod_perl并按照说明更改了httpd.conf

加载模块 perl_module libexec/apache2/mod_perl.so

Perl 模块 Apache::DBI

但是现在apache无法启动。错误日志:

[错误] 无法为模块 DBD::mysql 加载‘/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle’:dlopen(/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle, 1): 未加载库:libmysqlclient.18.dylib\n 引用自:/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle\n 原因:未在 /System/Library/Perl/5.12/darwin-thread-multi-2level/DynaLoader.pm 第 204 行找到图像。\n 在(eval 6)第 2 行 \n 在(eval 6)第 2 行需要时编译失败。\n

[错误] 无法为服务器 MacBook-Pro-Evgenij.local:0 加载 Perl 模块 DBD::Mysql,退出...

如何解决这个问题呢?

答案1

我在中创建了一个符号链接/usr/lib//usr/local/mysql-5.5.23-osx10.6-x86_64/lib/libmysqlclient.18.dylib重建dbd:mysql后一切正常。

相关内容