1

Я установил 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) завершился неудачно: не удается загрузить '/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' для модуля DBD:: mysql: 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:

LoadModule perl_module libexec/apache2/mod_perl.so

PerlModule Apache::DBI

Но сейчас не запускается apache. Журнал ошибок:

[ошибка] Не могу загрузить '/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' для модуля DBD::mysql: 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

[ошибка] Не удается загрузить Perl-модуль DBD:: Mysql для сервера MacBook-Pro-Evgenij.local: 0, выход ...

Как решить эту проблему?

1 ответ1

1

Я создал символическую ссылку в /usr/lib/ на /usr/local/mysql-5.5.23-osx10.6-x86_64/lib/libmysqlclient.18.dylib , перестроил dbd:mysql и все работало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .