【问题标题】:install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC ... Trouble connecting to mysql database from perl scriptinstall_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC ... 无法从 perl 脚本连接到 mysql 数据库
【发布时间】:2017-04-08 02:11:55
【问题描述】:

我正在尝试使用 MAMP 进行本地开发,但我的 perl 脚本无法连接到我的 mysql 数据库。当我查看 apache 日志时,我看到“install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC”。 当我运行 > which perl 时,我会得到我的 perl 安装位置,并将其添加到我的 MAMP 配置文件中的 perl 路径中。

我也尝试使用安装 DMD::MySql cpan[1]> 安装 DBD::mysql 但它最终失败了。我在下面包含了 cpan 安装过程的日志。我希望有人对我有想法。 我对这些东西很陌生,并且已经尝试了一段时间。

如果有人可能提供任何帮助,我们将不胜感激 谢谢

****cpan 日志****

Checking if your kit is complete...
Looks good
Using DBI 1.636 (for perl 5.016000 on darwin-2level) installed in /Users/archie/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/darwin-2level/auto/DBI/
Writing Makefile for DBD::mysql
Wide character in print at /Users/archie/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0/ExtUtils/MakeMaker.pm line 1028.
Wide character in print at /Users/archie/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0/ExtUtils/MakeMaker.pm line 1028.
Writing MYMETA.yml and MYMETA.json
cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm
cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm
cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod
cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm
cc -c  -I/Users/archie/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/darwin-2level/auto/DBI -I/usr/local/Cellar/mysql/5.7.14/include/mysql -fno-omit-frame-pointer -DDBD_MYSQL_WITH_SSL -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -O3   -DVERSION=\"4.040\" -DXS_VERSION=\"4.040\"  "-I/Users/archie/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0/darwin-2level/CORE"   dbdimp.c
/Users/archie/perl5/perlbrew/perls/perl-5.16.0/bin/perl -p -e "s/~DRIVER~/mysql/g" /Users/archie/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/darwin-2level/auto/DBI/Driver.xst > mysql.xsi
/Users/archie/perl5/perlbrew/perls/perl-5.16.0/bin/perl /Users/archie/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0/ExtUtils/xsubpp  -typemap /Users/archie/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0/ExtUtils/typemap  mysql.xs > mysql.xsc && mv mysql.xsc mysql.c
Warning: duplicate function definition 'do' detected in mysql.xs, line 249
Warning: duplicate function definition 'rows' detected in mysql.xs, line 673
cc -c  -I/Users/archie/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/darwin-2level/auto/DBI -I/usr/local/Cellar/mysql/5.7.14/include/mysql -fno-omit-frame-pointer -DDBD_MYSQL_WITH_SSL -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -O3   -DVERSION=\"4.040\" -DXS_VERSION=\"4.040\"  "-I/Users/archie/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0/darwin-2level/CORE"   mysql.c
Running Mkbootstrap for DBD::mysql ()
chmod 644 mysql.bs
rm -f blib/arch/auto/DBD/mysql/mysql.bundle
LD_RUN_PATH="/usr/local/Cellar/mysql/5.7.14/lib:/usr/lib" env MACOSX_DEPLOYMENT_TARGET=10.3 cc  -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector dbdimp.o mysql.o  -o blib/arch/auto/DBD/mysql/mysql.bundle     \
       -L/usr/local/Cellar/mysql/5.7.14/lib -lmysqlclient -lssl -lcrypto    \

ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [blib/arch/auto/DBD/mysql/mysql.bundle] Error 1
  MICHIELB/DBD-mysql-4.040.tar.gz
  /usr/bin/make -- NOT OK
'YAML' not installed, will not store persistent state
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
Failed during this command:
 MICHIELB/DBD-mysql-4.040.tar.gz              : make NO

【问题讨论】:

    标签: mysql perl mamp cgi-bin


    【解决方案1】:

    make 报告缺少库 (ssl)。您必须先安装 ssl 库。 或者你可以尝试安装和使用 DBD::mysqlPP

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-13
      • 2016-12-14
      • 2019-07-15
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      • 2019-03-25
      相关资源
      最近更新 更多