我不知道 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. Change Tracking of SQLServer

    1.Enable the change tracking at the database level. ALTER DATABASE AdventureWorks2008 SET CHANGE_TRA ...

  2. Java之Ajax技术

    ajax(asynchronouse javascript and xml) 异步的javascript 和 xml(现在常把xml换成json): ajax是2005年提出的,在2006,2007年 ...

  3. Vim编辑器-批量注释与反注释

    标签:linuxLinuxLINUXvimVIMVim编程 2013-01-10 09:52 27517人阅读 评论(3) 收藏 举报  分类: Linux(18)  版权声明:本文为博主原创文章,未 ...

  4. mysql 快速生成百万条测试数据

    1.生成思路 利用mysql内存表插入速度快的特点,先利用函数和存储过程在内存表中生成数据,然后再从内存表插入普通表中 2.创建内存表及普通表 CREATE TABLE `vote_record_me ...

  5. iOS 从手机相册里选取图片

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  6. YII实现Memcache故障转移的配置办法

    YII在默认配置下连接Memcache失败时会报错,要想实现故障转移就要改一下配置和代码 1.首先修改一下YII的 caching/CMemCache.php,我的版本是 1.1.7 找到 $cach ...

  7. pip是用国内镜像源

    pipy国内镜像目前有: http://pypi.douban.com/  豆瓣 http://pypi.hustunique.com/  华中理工大学 http://pypi.sdutlinux.o ...

  8. linux:磁盘的分割、检验、格式化与挂载

    新增一颗磁碟: 1.对磁碟进行分割,以建立可用的partition 2.对该分割槽partition进行格式化(format),以建立系统可用的filesystem 3.若要仔细点,可对刚刚建立的fi ...

  9. python之django 资料

    里边有不少比较好的文章. http://www.cnblogs.com/luxiaojun/p/5795070.html

  10. NABCD模式

    各位用户:       我们的“昵妆”是为了帮助不会化妆的用户解决困难, 他们需要有适合他们的优质的化妆品和 正确的视频或者化妆师来指导他们,但是现有的方案并没有很好地解决这些需求,我们有独特的办法, ...