OSX 10.9 Mavericks上Perl DBI/DBD的问题

mar*_*xor 7 macos perl dbi dbd osx-mavericks

升级到OSX Mavericks后,我无法运行DBI/DBD.

Perl和MySQL运行正常(我可以登录到mysql并访问我的表),但我的Perl脚本不再使用DBI,因为更新程序删除了我以前工作的所有Perl模块.

我使用CPAN重新安装了DBI和DBD :: mysql,它们将它们安装到/opt/local/lib/perl5/site_perl/5.12.4/darwin-multi-2level/.将模块(DBI,DBD和"auto"中的所有内容)复制到/Library/Perl/5.16/darwin-multi-2level/(因为cpan使用的目录不在@INC中)后,我的脚本返回内部服务器错误(甚至使用FatalsToBrowser).

Apache错误日志说:

dyld: lazy symbol binding failed: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /opt/local/lib/perl5/site_perl/5.12.4/darwin-multi-2level/auto/DBI/DBI.bundle
Expected in: flat namespace

dyld: Symbol not found: _Perl_Istack_sp_ptr
Referenced from: /opt/local/lib/perl5/site_perl/5.12.4/darwin-multi-2level/auto/DBI/DBI.bundle
Expected in: flat namespace
Premature end of script headers: test.pl
Run Code Online (Sandbox Code Playgroud)

这有什么问题?也许是因为我复制了文件?也许我应该强制CPAN直接安装到/Library/Perl/5.16/?我如何告诉CPAN这样做?

有任何想法吗?

cal*_*llo 10

我还没有升级到Mavericks,因为Apple在升级操作系统时并不关心Apache,PHP或Perl的修改 - 他们只是将它们全部删除.我不知道以下列表是否适合您,但它对Lion和Mountain Lion有用:

  • 在启动之前,必须正确安装和配置MySQL x86 64位.
  • 从App Store安装XCode.
  • 在XCode中,打开" 首选项/下载"菜单,然后安装命令行工具.

安装DBI:

  • 使用此命令安装cpanm : sudo cpan App::cpanminus.
  • 安装DBI : sudo cpanm DBI.

安装DBD :: mysql:

  • 从CPAN获取必要的文件.打开CPAN终端:sudo perl -MCPAN -e 'shell'.
  • 然后,运行以下命令:get DBD::mysqlexit.
  • 在编译之前,你必须创建一些别名,因为Mac上的MySQL安装方式与Linux不同 - 至少在之前的OS X版本中是这样:

cd/usr/local

sudo mkdir lib

cd lib

sudo ln -s /usr/local/mysql/lib/*.dylib.

  • 最后,您必须安装并编译库:

cd~/.cpan/build/DBD*/

sudo perl Makefile.PL --testuser ='yourmysqluser' - testpassword ='yourmysqlpassword'

sudo make

sudo做测试

sudo make install

cd ~/.cpan/build/DBD*/,*我的意思是你应该写出你刚刚从CPAN下载的文件的实际路径.目录的名称根据最新版本而变化,但很容易通过简单的方式找到它ls.

希望这对你有用.


编辑

这是我通过几次失败尝试所做的汇编,但我想我应该说出我的来源:

http://bixsolutions.net/forum/thread-8.html

http://coolestguyplanettech.com/downtown/install-and-configure-apache-mysql-php-and-phpmyadmin-osx-108-mountain-lion

警告:mysql_connect():[2002]没有这样的文件或目录(尝试通过unix:///tmp/mysql.sock连接)