【问题标题】:Cant find page - SQL ERROR找不到页面 - SQL 错误
【发布时间】:2015-07-04 09:55:08
【问题描述】:

尝试将现有的 SITE ONE 迁移到我的本地服务器 SITE TWO

但收到此错误。

请帮忙

[2015 年 4 月 24 日星期五 04:17:08] [错误] [客户端 59.96.252.161] [4 月 24 日星期五 04:17:08 2015] t.pl: 在@INC (@INC) 中找不到 Mysql/Statement.pm 包含:。 /home/etkhost1/perl5/lib/perl5 /home/etkhost1/perl5/lib/perl5/x86_64-linux-thread-multi /home/etkhost1/perl/usr/local/lib/perl5/5.8.8/x86_64-linux /home/etkhost1/perl/usr/local/lib/perl5/5.8.8 /home/etkhost1/perl/usr/local/lib/perl5/site_perl/5.8.8/x86_64-linux /home/etkhost1/perl/usr/local/lib/perl5/site_perl/5.8.8 /home/etkhost1/perl/usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/x86_64-linux /usr/local/lib/perl5/5.8.8 /usr/local/lib/perl5/site_perl/5.8.8/x86_64-linux /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl) 在 Mysql.pm 第 12 行。

sub info {
    my $q = new CGI;
    my $db = Mysql->connect('localhost','X','Y','Z');
        my $filing_status = $postFields{ "filing_status" };
        my $street_address = $postFields{ "street_address" };
        my $country = $postFields{ "country" };
        my $po_box = $postFields{ "po_box" };
        my $apt = $postFields{ "apt" };
        my $city = $postFields{ "city" };
        my $state = $postFields{ "state" };
        my $zip = $postFields{ "zip" };

【问题讨论】:

  • 这不是 SQL 错误。 Perl 抱怨它找不到文件名应为 Statement.pm 的库(Perl 模块)。 Perl 正在尝试解析对它的引用,该引用位于 Mysql.pm 的第 12 行。 Perl 搜索的目录列表在@INC 中给出。
  • 谢谢,我会深入研究一下。我们实际上无法访问原始文件,因此很难分辨是什么。
  • 我希望代码sn-p中不是你真正的数据库用户名和密码。如果是这样,为了安全起见,我建议您更改密码。
  • @ThisSuitIsBlackNot - 与他们创建的内容相比是错误的 - 这就是我没有更改它的原因,但不管我已经全部更新了 - 感谢您的说明

标签: mysql sql linux perl


【解决方案1】:

看来你需要安装DBD::mysql


更新

@ThisSuitIsBlackNot 指出最新版本的DBD::mysql 不包含Mysql 模块。您可以通过downloading version 3.0008 修复它并手动安装它。模块安装说明在perlmodinstall

【讨论】:

  • @Nettrus:您发布的代码并没有真正的帮助。你需要安装DBD::mysql
  • @Borodin 单独安装DBD::mysql 并不能解决问题,因为(根据发布的代码)脚本没有使用DBI 模块。它使用的是过时的Mysql 模块,我现在似乎找不到。因此,OP 还需要安装 DBI 模块并相应地调整脚本。
  • 有道理 - 这对我们来说即将变成一场噩梦。代码的所有者无法真正解释任何事情,原始开发人员从地图上消失了。
  • @RonBergin:我知道Mysql 已经成为DBD::mysql 的一部分,the documentation 同意,说 “截至 Msql-Mysql-modules 1.19_10 M(y)sqlPerl不再是一个单独的模块。而是使用 DBI 驱动程序模拟它。” 但是我在当前版本的模块中找不到任何Mysql.pm 的痕迹
  • @Nettrus:如果您愿意,我非常乐意为您解决问题。发送电子邮件至 borodin@trashmail.com 与我讨论。这是一个临时电子邮件地址,将在三天后过期
猜你喜欢
  • 1970-01-01
  • 2012-12-29
  • 2016-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-27
  • 1970-01-01
相关资源
最近更新 更多