macos – OSX 10.9 Mavericks上的Perl DBI / DBD问题

前端之家收集整理的这篇文章主要介绍了macos – OSX 10.9 Mavericks上的Perl DBI / DBD问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
升级到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

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

有任何想法吗?

解决方法

我还没有升级到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’hell’.
>然后,运行以下命令:get DBD :: MysqL退出.
>在编译之前,你必须创建一些别名,因为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 make test

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

Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in

原文链接:https://www.f2er.com/Perl/171991.html

猜你在找的Perl相关文章