如何刻录编译DBD :: mysql并在我有自己的perl安装的共享主机上移动文件

时间:2011-07-06 13:04:38

标签: mysql perl ubuntu static redhat

  1. 我已经在我的Ubuntu ActiveState Perl上本地下载并安装了(ActivePerl-5.14.1.1401-x86_64-linux-glibc-2.3.5-294969.tar.gz)。
  2. 我做了“〜$ sudo apt-get install libmysqlclient-dev”
  3. 我是从CPAN DBD::mysql
  4. 下载的
  5. 我看过INSTALL.html 这是我的问题: 我不知道如何编译静态链接的DBD :: mysql,我可以从我的本地ActivePerl安装复制到相同的perl instalaltion但在我的共享主机提供程序mashine上。 请注意,在更改ActivePerl / bin /目录中的可执行文件权限后,上传的via ftp(没有ssh)perl目录结构可以在共享主机(也是x86_64-linux)上运行。 我的CGI脚本在共享主机上的mod_cgi和mod_fast_cgi下运行良好。 我尝试了安装文档(INSTALL.html#source_installation)中的建议,但没有运气。 在与i586 Active Perl DBD :: mysql的另一个共享主机上工作正常,因为我首先使用PPM在本地安装它,然后通过FTP上传。但是,ActiveState没有提供x86_64 PPM包。 sonmebody可以为命令行提供魔法咒语(ubuntu 11.04),例如:

    me@mine:~$ mkdir /tmp/mysql-static
    me@mine:~$ cp /usr/lib/libmysqlclien* /tmp/mysql-static
    me@mine:~$ cd ~/install/Perl/DBD-mysql-4.019/
    me@mine:~/install/Perl/DBD-mysql-4.019$ perl Makefile.PL --libs="-L/tmp/mysql-static -lmysqlclient"
    me@mine:~/install/Perl/DBD-mysql-4.019$ make    
    me@mine:~/install/Perl/DBD-mysql-4.019$ make install
    
  6. ...  ......嗯:D这次似乎很有用,但无论如何我写了以上所有内容......它可能对其他人有用。我今天晚些时候会在共享主机上上传,看它是否有效。

1 个答案:

答案 0 :(得分:0)

这很有效。 唯一需要注意的是在共享主机上使用它。你应该通过TCP而不是通过Unix socket连接:

$dsn = "DBI:mysql:database=$database;host=127.0.0.1;port=3306";
$dbh = DBI->connect($dsn, $user, $password);

正如docs所述:

要使用TCP / IP连接到localhost上的MySQL服务器,必须将主机名指定为127.0.0.1(带有可选端口)。