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有用:
安装DBI:
sudo cpan App::cpanminus
.sudo cpanm DBI
.安装DBD :: mysql:
sudo perl -MCPAN -e 'shell'
.get DBD::mysql
和exit
.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
警告:mysql_connect():[2002]没有这样的文件或目录(尝试通过unix:///tmp/mysql.sock连接)
归档时间: |
|
查看次数: |
8474 次 |
最近记录: |