我一整天都试图将我的MySQL数据库与我的Perl脚本联系起来而没有成功。
我使用带有High Sierra的Mac并且我使用AMPPS,我在PHPMyAdmin中创建了一个数据库,我使用sudo cpan
下载并安装了DBD :: mysql模块(应该正确安装)但是我没有那么多经验,所以我不知道我是否遗漏了某些地方。
这是我的代码:
#!/Applications/AMPPS/perl/bin/perl -w
use CGI qw(header);
my $q = new CGI;
print $q->header;
use warnings;
use strict;
use DBI;
my $db = "prova";
my $user = "root";
my $pass = "mysql";
my $host = "localhost";
my $dbh = DBI->connect("DBI:mysql:database=$db:host=localhost","$user","$pass");
但是我得到的只是一个空白页,即使我试着说print "Hello World!";
或改变了一些我得到的500内部服务器错误。
测试它终端让我遇到了这些我不知道如何解决的问题:
install_driver(mysql) failed: Can't load '/Applications/AMPPS/perl/lib/site_perl/5.20.2/darwin-2level/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Applications/AMPPS/perl/lib/site_perl/5.20.2/darwin-2level/auto/DBD/mysql/mysql.bundle, 1): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Applications/AMPPS/perl/lib/site_perl/5.20.2/darwin-2level/auto/DBD/mysql/mysql.bundle
Reason: image not found at /Applications/AMPPS/perl/lib/5.20.2/darwin-2level/DynaLoader.pm line 197.
at (eval 10) line 3.
Compilation failed in require at (eval 10) line 3.
Perhaps a required shared library or dll isn't installed where expected
at /Applications/AMPPS/www/cgi-bin/midterm.pl line 18.
发生了什么,我该如何解决?我在网上找不到任何有用的东西,有太多的东西,老实说太让我困惑了。 在这段代码中,我使用默认的MySQL用户进行连接并传递,是正确还是我需要为数据库创建用户?因为我曾尝试过两种方式,但都没有。
谢谢!