我将Perl CGI代码库从Debian服务器移动到CentOS 6.7。
当我加载网站时,首页有效,但缺少一些东西。另一个页面抛出500错误,日志显示:
未定义的子程序& Site :: Contacts :: get_domain_id在../conf/Site/Akcii.pm第21行调用。
目录中的文件Akcii.pm:[web path] / conf / Site
package Site::Akcii;
use MyWeb::Module;
use Site::Contacts;
@ISA = qw/MyWeb::Module/;
use strict;
use warnings;
...snip...
sub init {
my $self = $_[0];
$self->init_params;
$self->{domain_id} = Site::Contacts::get_domain_id($self);
目录中的文件Contacts.pm:[web path] / conf / Site
package Site::Contacts;
use MyWeb::Module;
@ISA = qw/MyWeb::Module/;
use strict;
use warnings;
...snip...
sub get_domain_id {
my $self = $_[0];
...snip...
我不是一个perl程序员,而且我的智慧结束了。我已经尝试过我所知道的一切。
研究错误听起来它无法找到函数,但目录结构是相同的,并且据我所知,库都正确链接。
原始服务器有perl 5.14,新服务器有5.10。我安装了perl 5.14但仍然遇到了同样的错误。
我发现了NYTProf,安装并使用过它,但是它的输出并没有任何帮助。