我不知道 why,在 Mac 安装 DBI::mysql 总会报错

我为了给 cgi-bin 添加 mysql-perl 数据库支持,也是够麻烦的

  1. make sure that mysql and mydql_config is in your PATH

也就是命令行 which mysqlwhich mysql_config 都可以得到路径

  1. edit mysql_config

sudo vi $(which mysql_config) 要修改几个地方,确保几处环境设置正确

  • line95: pkgincludedir='/Applications/XAMPP/xamppfiles/include'
  • line113: include="$include -I/usr/include/php/ext/mysqlnd"
  1. install DBD::mysql using XAMPP cpan

sudo /Applications/XAMPP/xamppfiles/bin/cpaninstall DBD::mysql

  1. test if success install

/Applications/XAMPP/xamppfiles/bin/perl -MDBD::mysql -e1

如果没有输出表示成功了


第一个依赖错误

Can't load '/Library/Perl/5.18/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Library/Perl/5.18/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle, 1): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Library/Perl/5.18/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
  Reason: image not found at /System/Library/Perl/5.18/darwin-thread-multi-2level/DynaLoader.pm line 194.
 at -e line 0.
Compilation failed in require.
BEGIN failed--compilation aborted.

  1. locate libmysqlclient

/Applications/XAMPP/xamppfiles/lib/libmysqlclient.18.dylib

/Applications/XAMPP/xamppfiles/lib/libmysqlclient.a

/Applications/XAMPP/xamppfiles/lib/libmysqlclient.dylib

/Applications/XAMPP/xamppfiles/lib/libmysqlclient_r.18.dylib

/Applications/XAMPP/xamppfiles/lib/libmysqlclient_r.a

/Applications/XAMPP/xamppfiles/lib/libmysqlclient_r.dylib

  1. build linkage

    sudo ln -s /Applications/XAMPP/xamppfiles/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

    sudo ln -s /Applications/XAMPP/xamppfiles/lib/libmysqlclient.a /usr/lib/libmysqlclient.a

  2. check again

    /Applications/XAMPP/xamppfiles/bin/perl -MDBD::mysql -e1

  3. test online

  1 #!/usr/bin/perl
  2 
  3 use utf8;
  4 use v5.16;
  5 use warnings;
  6 use DBI;
  7 print "Content-type: text/plain; charset=utf-8\n\n";
  8 print "$_\n" for (DBI->available_drivers);
  9 # mysql SQLite File DBM are supported
 10 print "----------\nInstalled\n\n";
 11 my %ins = DBI->installed_drivers();
 12 print "$_\t$ins{$_}\n" foreach (sort keys %ins);
 13 
 14 my $mydbh = DBI->connect('DBI:mysql:test;host=localhost','root','imac@mysql') or die "connect failed";
 15 my $sth = $mydbh->prepare("select * from test;");
 16 $sth->execute();
 17 #$result = $sth->fetchrow_hashref();
 18 while( $result = $sth->fetchrow_hashref ){
 19         for (keys $result){
 20         print "$_\t$result->{$_}\n";
 21 }}
 22 $mydbh->disconnect();

how to make CGI-Perl to work with Apache

• edit /Applications/XAMPP/xamppfiles/etc/httpd.conf
375 <Directory "/Applications/XAMPP/xamppfiles/cgi-bin">
376     AllowOverride all
377     Options ExecCGI Includes Indexes
378     # +/- no need
379     #AddHandler cgi-script .cgi .pl .py .sh
380     Order deny,allow
381     Allow from all
382     Require all granted
383     # allow and require are must
384 </Directory>
- 419     AddHandler cgi-script .cgi .pl .py .sh
- sudo chmod -R 0755 /Applications/XAMPP/xamppfiles/cgi-bin
- restart apache

Install DBD::mysql for Perl in XAMPP in Mac , solving errors的更多相关文章

  1. Install MongoDB driver for PHP on XAMPP for Mac OSX

    试了不少方法,最后还是这个最有效. [转自:http://thatsimplecode.com/install-mongodb-driver-for-php-on-xampp-for-mac-osx] ...

  2. centos perl: symbol lookup error: /usr/local/lib64/perl5/auto/DBD/mysql/mysql.so: undefined symbol: mysql_init

    之前在安装天兔数据库监控工具lepus的时候,运行时一直报perl: symbol lookup error: /usr/local/lib64/perl5/auto/DBD/mysql/mysql. ...

  3. XAMPP Apache + MySQL + PHP + Perl

    XAMPP Apache + MySQL + PHP + Perl 什么是XAMPP? XAMPP是最流行的PHP开发环境 XAMPP是完全免费且易于安装的Apache发行版,其中包含MySQL.PH ...

  4. percona innobackupex 遇到 connect to MySQL server as DBD::mysql module is not installed 问题

    percona innobackupex connect to MySQL server as DBD::mysql module is not installed [root@mysql softw ...

  5. MySQL MHA /usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln301] install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted

    在公司随便找3台测试机搭个MHA,下面这个问题折腾了三天,之前没遇到过,查了OS版本发现一致,可能是不同人弄的OS吧,知道是cpan的问题就是搞不定,郁闷...[root@test247 ~]# ma ...

  6. Failed to connect to MySQL server as DBD::mysql module is not installed 问题的解决

    部署PXC ,卸了旧的MySQL perl-DBD-MySQL-4.013-3.el6.x86_64 这个包已经安装了,innobackup时一直在报错: Failed to connect to M ...

  7. 如何处理错误消息Please install the gcc make perl packages

    如何处理这行错误消息? Please install the gcc make perl packages from your distribution. 执行命令行:yum install gcc ...

  8. 【错误】:MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

    错误:MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决 ...

  9. 【mysql报错】MySQL host is blocked because of many connection errors; 解决方法

    MySQL host is blocked because of many connection errors; 报错 环境 操作系统:Linux 数据库:mysql5.7.27 错误提示 jHost ...

随机推荐

  1. php常用转义字符‘ “ {} $ \n

    php 单引号和双引号的区别: 双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符. <?php $a = 'abc'; echo "<br>&quo ...

  2. iOS: 使用KVO监听控制器中数组的变化

    一.介绍: KVO是一种能动态监听到属性值的改变的方式,使用场景非常广泛,这里我只讲如何监听控制器ViewController中数组的变化. 二.了解: 首先我们应该知道KVO是不能直接监听控制器Vi ...

  3. navicat 链接不上mysql

    1 查看 my.cnf 的配置bindhost 127.0.0.1 注释掉 2 grant all privileges on *.* to root@'%' identified by 'passw ...

  4. [PCL]1 PCL点云库安装

    1.安装文件下载:官网,我还是比较喜欢别人编译好的安装包啊,哈哈. http://www.pointclouds.org/downloads/windows.html 2.傻瓜式安装(下面的依赖项都集 ...

  5. python format

    python自2.6后,新增了一种格式化字符串函数str.format(),威力十足,可以替换掉原来的% 注:以下操作版本是python2.7 映射示例 语法 通过{} 和 :  替换 % 通过位置 ...

  6. python 内存监控模块之memory_profiler

    0. memory_profiler是干嘛的 This is a python module for monitoring memory consumption of a process as wel ...

  7. uiwebview加载中文URL

    uiwebview加载中文URL _paperGamePath = [_paperGamePath stringByAddingPercentEscapesUsingEncoding:NSUTF8St ...

  8. C# ?和??运算表达式

    1.单问号(?) 作用:用于给变量设初化的时候,给变量(int类型)赋为null值,而不是0. 例子: public int a; //默认值为0 public int ?b; //默认值为null ...

  9. wampserver环境下,apache本地下设置多个域名

    Apache在安装之后默认只是指向一个站点,即127.0.0.1,如果要进行多站点的配置,需要更改一些配置. 步骤.方法: 1,)让Apache在启动时能加载虚拟主机模块. 打开Apache安装目录下 ...

  10. GTA项目 三, 使用 bootstrap table展示界面,使得data和UI分离

    /** bootstrap-table - v1.5.0 - 2014-12-12* https://github.com/wenzhixin/bootstrap-table* Copyright ( ...