免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3288 | 回复: 11
打印 上一主题 下一主题

求高手。。求真相 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-04-15 15:24 |只看该作者 |倒序浏览
[error] Caught exception in engine "Can't store CODE items at ../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_freeze.al) line 287,
at /usr/lib/perl5/site_perl/5.8.5/DBIx/Class/Serialize/Storable.pm line 10, at /usr/lib/perl5/site_perl/5.8.5/Object/Signature.pm line 19"

错误如上,大概原因找了一下 应该是session 引起的吧!

        $c->session->{user} = $user;  这样会报错,但是把{user} 改成{users}之后就不会出现这样的错误,{等session有效有效期限一过(不确定)}。还是会出现同样的错误,在把{users} 改成 {user} 有没问题了。。。。之后又是同样的问题

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2010-04-15 15:36 |只看该作者
这种问题,顺藤摸瓜按图索骥逢山开路遇水搭桥就搞定了。

从错误信息来看,是由于序列化了一个代码块导致的,应该是属于调用层的 BUG。

论坛徽章:
0
3 [报告]
发表于 2010-04-15 15:49 |只看该作者
所有的模块都是预先加载的
======================这个是出现问题的子例程
sub login : Private {
        my ( $self, $c ) = @_;
        $c->stash->{template} = 'users/login.tt';
        #$c->model("CtlapplyDB")->storage->debug(1);
        my $username = $c->req->param('username') || "";
        my $password = $c->req->param('password') || "";
        if($c->session->{user}){
        $c->response->redirect('book/list');
        }
        if($c->req->param('submit')){
                if($username && $password){
                        my $user = $c->model('CtlapplyDB::Users')->search(
                                                                        {        name => $username,
                                                                                password => $password
                                                                        },
                                                                        {                                                                               
                                                                                select => ['me.name','me.password','me.role'],
                                                                                as                 => ['name','password','role'],
                                                                        }
                                                                )->first;

                        if( defined $user && $user->get_column('name')){
                                $c->session->{user} = $user;                         #这个地方开始的错误吧??
                                $c->forward('/book/list');
                                return;
                        }else{
                                $c->stash->{error_msg} = "can't find user";
                        }
                }
        }else{
                $c->stash->{template} = 'users/login.tt';
        }
}
===================这个是错误信息
You can connect to your server at http://s21:1110
[info] *** Request 1 (0.111/s) [1415] [Thu Apr 15 15:15:52 2010] ***
[debug] Found sessionid "4b31404aed0fa30350c6646917d71795c878bb77" in cookie
[debug] Body Parameters are:
.-------------------------------------+--------------------------------------.
| Parameter                           | Value                                |
+-------------------------------------+--------------------------------------+
| password                            | 123                                  |
| submit                              | 登录                               |
| username                            | wangshun                             |
'-------------------------------------+--------------------------------------'
[debug] "POST" request for "login" from "192.168.2.102"
[debug] Path is "login"
[debug] Restored session "4b31404aed0fa30350c6646917d71795c878bb77"
[debug] Rendering template "book/list.tt"
[error] Caught exception in engine "Can't store CODE items at ../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_freeze.al) line 287, at /usr/lib/perl5/site_perl/5.8.5/DBIx/Class/Serialize/Storable.pm line 10, at /usr/lib/perl5/site_perl/5.8.5/Object/Signature.pm line 19"

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2010-04-15 15:51 |只看该作者
你光看这些没用。
得深层调试。

论坛徽章:
0
5 [报告]
发表于 2010-04-15 15:58 |只看该作者
        不知如何深层调试。我刚学不久还没正式和同事合作进行开发,这个只是我自己随便写的一个’系统‘。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2010-04-15 16:04 |只看该作者
二层就告诉你方法了。
顺藤摸瓜按图索骥逢山开路遇水搭桥。

教你个速成的法子,改一下 ../../lib/Storable.pm line 287,加一个 cluck 语句。
cluck 在 Carp 模块里有。

论坛徽章:
0
7 [报告]
发表于 2010-04-15 16:09 |只看该作者
看看去 。。

论坛徽章:
0
8 [报告]
发表于 2010-04-15 16:23 |只看该作者
没有root权限无法修改。

论坛徽章:
0
9 [报告]
发表于 2010-04-15 16:43 |只看该作者
如果是我的话 会先确认 CtlapplyDB::Users

论坛徽章:
0
10 [报告]
发表于 2010-04-15 16:50 |只看该作者
Ctlapply::Users 没问题,而且查出来也有数据,session里面也有数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP