跳到内容
当前位置:首页>戏曲>张大选丨当代戏曲《盗版乌龙院》构想

张大选丨当代戏曲《盗版乌龙院》构想

  • 2026-09-30 07:22:26
张大选丨当代戏曲《盗版乌龙院》构想

文丨张大选

在去广州之前,我曾认为《乌龙院》(坐楼杀惜)这个戏不好改,也没什么写作的空间。2024年12月,我的好朋友诗洁(邓诗洁)在天一剧院演出,那天是冬至(如果我没记错),台上她演的戏是汉剧《武松杀嫂》。据她事后告诉我,她演的这个版本是「新版本」。说真的,当时我是头一次现场观摩汉剧的「潘金莲」,印象中只记得旦角在灵堂唱了一段【反二黄】。

我曾与诗洁约定改编一个适合的传统戏给她,直到想到一个构想——当代戏曲《盗版乌龙院》。

在2026年8月广州的课上,在权叔(张秉权博士)的引导下,每个小组分别就传统戏曲(包括《霸王别姬》《红鬃烈马》《牡丹亭》《乌龙院》四部作品)展开一次「当代改编的想象」,我们组分配到的是《乌龙院》,也就是《坐楼杀惜》。

权叔在课堂上提出了一个看似矛盾的要求:他鼓励我们大胆解构、颠覆、重组,但同时强调对原著人物的「底色」的坚持。言下之意,改编不是没理由、没逻辑的乱编。

我们小组由王前超、刘莛蔚、肖殷祈及我四位学员组成。改编方案很快出来了。尽管这个「改编方案」令我足够吃惊,但我又不得不佩服他们。我也后来意识到,对于不太熟这出传统戏的剧评人朋友们,他们的想法或许更开放、自由。

我们问了自己一个问题:如果宋江不是「杀惜」的人,而是「救(放)惜」的人,会发生什么?这个提问开启了我们对《乌龙院》的一次彻底「反读」,核心动作的翻转/颠覆也随之而来。

不过,这个改编方向,恰恰回应了权叔反复强调的戏剧观念「厚而有格」,即有厚度,有风格,不平庸,不从俗。我们试图让这个古老的故事,不只是讲一个「奸夫淫妇被杀」的道德故事,而是讲一个关于「人如何被‘好’字困住」的当代寓言。它触及的是原生家庭的绑架、名声的牢笼、自由的恐惧......这些议题,离我们每一个当代人的生活都不远。

方案最初并没有名字。把它叫作「盗版乌龙院」是我在两天后某次洗澡的时候想到了孟京辉的《盗版浮士德》。我认为这个名字的好处在于,既不掩饰它的来源(「乌龙院」作为场域),又能彰显它的前卫姿态。这篇思考文章,便是这次课堂练习思考的延伸与深化。

脉络回溯

如何做「盗版乌龙院」呢?说起这个话题,我想与大家先回顾一下《乌龙院》的历代改编,理清其发展脉络有助于我们框定自身的美学定位。

1)京剧电影《坐楼杀惜》

周信芳对剧本作了深入分析后,对宋江的身份性格、为人处事「作到了充分理解,刻画入骨」,使这一人物活现在舞台上。其对宋江这一人物的塑造,被评论界概括为「以浪漫主义表演手法来体现写实的现实主义精神」。影片采用1.33:1画幅比,配有中文唱词字幕,周信芳以高龄亲自完成翻滚扑跌等动作,突显了麒派「浑身是戏」的表演特质。

电影版最大的改编在于突出了「刘唐下书」这一情节线索。这一处理并非单纯的情节补充,而是意在强化宋江作为梁山好汉同情者的正面形象,使其杀惜的动机从「情杀」升华为「政治斗争」。相应的,阎惜姣的形象也更接近于放荡狠毒、忘恩负义的反面典型。这一改编路径与1960年代的主流意识形态紧密相关,即将个人恩怨纳入阶级叙事的框架之中。

2)英语京剧《乌龙院》

1972年4月,由杨世彭翻译并执导的英文京剧 《Black Dragon Residence》 (《乌龙院》)在美国华盛顿新建的肯尼迪演艺中心献演两场。演出采用 「念白为英文,唱段为中文」的特殊形式——念白部分用英语说出,以便美国观众理解剧情;唱腔部分则保留中文演唱,以维持京剧声腔的艺术魅力。这一形式选择体现了杨世彭迈向世界剧场的跨文化策略:在「可理解性」与「艺术本真性」之间寻求平衡。

英语京剧《乌龙院》的跨文化实践证明了京剧作为一种剧场形式,在脱离中文语境和华人演员之后,依然能够被另一种文化的观众所接受。正如有学者所观察的,这种跨文化传播始终面临着「在地化」的困惑,但这恰恰也是其意义所在:它让「京剧」不再是一个封闭的文化符号,而成为一种可以被翻译、被挪用的剧场语言。

3)戏曲型式话剧《阎惜姣》

在英文京剧《乌龙院》成功之后,杨世彭并未止步。1994年至1995年间,他编导的中国戏曲型式话剧《阎惜姣》由香港话剧团演出。这部作品在英语京剧的基础上,进一步探索了传统戏曲素材与现代剧场形式的融合可能。

与英语京剧《乌龙院》不同,《阎惜姣》将叙事视角从宋江转向了阎惜姣。杨世彭明确以「同情苦命女性的立场」下笔。他从《水浒传》及京昆剧本中撷取素材,同时加写了不少新情节,以交代一个更为完整的故事。这一视角转换,使阎惜姣不再只是一个「被杀的淫妇」,而成为一个可以被理解、被同情的悲剧人物。

《阎惜姣》最独特的标签是 「戏曲型式话剧」,该剧的宣发物料上如此写道:

一出以京、昆技艺表演的现代话剧,笑料与阴谋交识,叙述一个色诱、通奸、背弃、谋杀的故事,包括阴间的审判与女鬼的复仇。

可以看到,杨世彭既不是简单地用话剧去「翻译」京剧,也不是用京剧去「装饰」话剧,而是在两种剧场语言的交界处,创造了一种新的混合形态。这种探索在1990年代的中国戏剧界具有相当的实验性,也为后来小剧场戏曲的跨界实践提供了前例。

4)京剧《金乌藏娇》

2002年,台湾当代传奇剧场推出了由吴兴国编导演合一的新编京剧《金乌藏娇》。当代传奇剧场自1986年成立以来,一直致力于传统戏曲传承并以创新剧场表演艺术为标的,《金乌藏娇》是其「传奇戏曲系列」的重要作品之一。

《金乌藏娇》最引人注目的创新在于吴兴国一人分饰宋江与张文远两个角色。这两个角色分属不同行当——宋江是老生,张文远是方巾丑。吴兴国以「演脚色不演行当」的独特方式,同步诠释了「不解温柔的古肃大男人」宋江与「好色的大滑头」张文远。这种跨行当的表演实践,被评论界称为「史无前例的大胆突破」。与《李尔在此》类似,在唱腔、身段方面,吴兴国主要以麒派为主。

作为台湾京剧界的改革先锋,吴兴国在《金乌藏娇》中进行了多方面的改革尝试。在表演上,他在京剧传统唱念做打之外加入了现代舞蹈步法和肢体动作;在音乐上,除传统乐器外还加入了电子音乐及尺八、色士风等东西方特色乐器;在舞台设计上,突破了传统戏曲「一桌二椅」的简约布景,加入了相对较多的布景和道具,甚至运用了分割舞台等现代剧场手法。

《金乌藏娇》的颠覆性在于它不满足于重新诠释角色,而是从根本上挑战了戏曲的行当制度。吴兴国一人分饰两角的设计,暗示了宋江与张文远或许并非截然对立的两种人——他们共享着同一个男性欲望的结构。这种处理方式,与后来大陆小剧场戏曲的解构路径形成了有趣的呼应。

5)京剧《阎惜娇》

2010年,北京京剧院推出了小剧场京剧《阎惜姣》。在《〈阎惜姣〉创作札记》一文中,王新纪如此说道这次改编的基本思路:

正好剧院打算再排一出小剧场京剧,于是就起了这样的念头:干脆把这两出戏(指京剧《乌龙院》与昆曲《活捉》)连缀起来,进大学演给年轻人看,好好展示一下我们戏曲的精华与魅力......动手之初,曾定下了三条原则:女性视角、零度感情、整旧如旧。

《阎惜姣》的剧情基本遵循传统《乌龙院》的框架:宋江纳阎惜姣为妾,阎与张文远私通,宋江愤而离去,后因招文袋遗失返回,错手杀死阎惜姣。该剧的最大改动在于《活捉》一场——传统京剧的活捉是阎惜姣鬼魂向张文远索命报仇,而小剧场版则向昆剧《情勾》借鉴,改为阎惜姣魂魄回到阳间邀张三郎黄泉地府再续前缘。

作为北京京剧院小剧场系列的早期作品,《阎惜姣》的改编幅度相对保守,主要在表演空间的缩小和表演方式的细腻化上做文章。小剧场演出使得全剧着力于刻画人物性格,开掘人物内心世界。这一版本为后来更具颠覆性的小剧场改编奠定了基础。

6)小剧场京剧《惜·姣》

由李卓群创作的小剧场京剧《惜·姣》重点在于将叙事视角从宋江彻底转向阎惜姣,如剧名中的「惜」字本身即暗示了主创对这一人物的态度。编导李卓群明确表示:

阎惜姣有自己不对的地方,但她命运的悲剧其实是由她性格悲剧和价值观造成的。所以我们首先不给她下褒贬的定义。

这一立场使阎惜姣从「水性杨花的反面典型」被重新挖掘出其悲剧性,从一个被道德审判的对象变成了一个可以被理解、被同情的悲剧人物。如该剧最后一段唱词所呈现的人物独白:

阎惜姣:【反二黄】想我惜姣女,今作流离鬼。花魂不知所往,玉骨难葬故城。卖身葬父虽活命,乌龙院中是残生。错嫁人守春闺吊孤影无人怜眷,错爱人藏书信对利刃血涌尸横。万丈红尘做了棺木七尺,滴水三千取了毒酒一蛊。满饮这龙凤茶、相思泪、刀尖血、忘情水,换来生有情郎花前相逢。

7)小剧场京剧《命定·乌龙院》

武汉京剧院推出的《命定·乌龙院》由张丞执笔改编剧本,胡翰驰执导。其最核心的创新在于引入了 「重新活一次」的概念设定。剧情以传统戏《乌龙院》为母本,将阎惜娇在要被宋江杀死之前的悔恨具像化,以阎惜娇「重新活一次」为主要契机——重新活一次的阎惜娇想要作出另一个选择:缠上小脚,踏踏实实地和宋江过日子,拒绝张文远的一切诱惑。然而,即使她做出了不同的选择,命运的悲剧依然无法避免。

在《关于轮回的故事——小剧场京剧〈命定·乌龙院〉编剧谈》一文中,张丞如此袒露出编剧的动机与心态:

用什么样的戏剧结构才能传达出这种宿命感?我首先想到的是「轮回」。如果让阎惜娇重新活一次,她会怎么做?当她已经清楚地预知了自己的结局,她还会沿着从前的路走下去吗?答案是肯定的。但真正的问题在于,究竟是什么让她无法摆脱原来的结局?

8)小结

「杀惜」题材在六十余年间经历数次改编,从「政治化」到「去政治化」「行当解构」,从「初步探索」到「女性视角」,最终走向「命运哲学」:

周信芳的电影版将个人恩怨纳入阶级叙事的框架,为宋江赋予政治正当性;吴兴国的《金乌藏娇》以一人的身体跨越两个行当,从根本上挑战了戏曲的行当制度;北京京剧院的小剧场《阎惜姣》开启了小剧场美学的初步探索;李卓群的《惜·姣》则将叙事视角彻底转向阎惜姣,完成了从「道德审判」到「人文理解」的转换;而《命定·乌龙院》更进一步,将个人的悲剧上升为命运的悲剧。

每一次改编,都是对「杀惜」这一经典情节的重新叩问:谁是坏人?谁该为这场悲剧负责?答案在不断变化——从「淫妇该死」到「政治斗争的必要牺牲」,从「被侮辱的女性」到「命运循环中的悲剧缩影」。这些追问的背后,是不同时代对人性、正义与命运的不同理解。

「盗版」作为解构姿态

当一部作品不满足于「改(新)编」,而直接以「盗版」自我命名时,它究竟在宣告什么?

「盗版」一词,在1990年代末的中国语境中有着特殊的文化重量。它是盗版VCD、盗版软件、盗版书的时代注脚,是一个介于「非法复制」与「野蛮生长」之间的灰色地带。而将「盗版」作为一部剧场作品的标题,本身就是一种颇具解构意味的姿态:我不打算恭敬地对待经典,我要把它「偷」过来,拆碎,重新组装,装进我的时代。

1)话剧《盗版浮士德》

由孟京辉执导的《盗版浮士德》于1999年在北京人艺小剧场首演,由中央实验话剧院出品,编剧沈林。据资料记载,这部剧最初想叫《当代浮士德》或《浮士德的前生后世》,但都不甚理想。主演陈建斌提出了「盗版」二字:

我在美国,感觉在很多方面我们都不如人家,惟有盗版是我们的强项,而且特厉害,弄得美国人也没脾气。于是我觉得盗版这词儿特有力量。把歌德的一些东西盗过来,装入我们对这个时代的思索。

编剧沈林和导演孟京辉认可了这个想法。「盗版」由此从日常用语上升为一种创作宣言。编剧沈林在阐释创作理念时说:

我不认为浮士德是个人物,他在被欧洲反复盗版后早已成为一种符号。而现在浮士德这个符号则象征知识分子的追求:追求爱、追求美、追求权力、追求事业成功。

在剧情层面,《盗版浮士德》将歌德的原著框架彻底「本地化」。浮士德不再是中世纪的书斋学者,而是一个皓首穷经的现代知识分子——「上知天文下晓地理,但人到中年常常掩卷感叹去日苦多」。他与魔鬼打赌之后,不是去经历古典的冒险,而是出任了「电视台特邀嘉宾」「历史上第一次选美大赛主任」,在某国推出治国安邦大计,最终入选登月计划。浮士德的旅程被置换为电视选美、政治顾问、太空探索等一系列1990年代末的「当代奇观」。导演孟京辉说,《盗版浮士德》一剧表现了「现代知识分子的一种生存状态」——「皓首穷径的知识分子从闭门自修的生活中走出来融入到现代生活中追求崇高与自由,好似一个老头重新焕发了青春活力」。

综合来看,《盗版浮士德》中的「盗版」至少包含两层意味:其一,对经典的「盗」 ,即将歌德的《浮士德》从德国古典文学的圣坛上「偷」下来,装入1990年代末中国的现实经验;其二,对时代的「盗版」,即用盗版VCD时代的文化直觉,去复制、拼贴、重组一个属于当代知识分子的精神图景。正如该剧的另一个标题《浮士德博士的人间喜剧》所暗示的,这出戏关心的从来不是浮士德与魔鬼的形而上学交易,而是「人间」——一个具体的历史时刻中,知识分子的欲望、困惑与挣扎。

2)京昆《盗版乌龙院》

那么,京昆《盗版乌龙院》又意图从传统中「盗」了什么呢?《盗版乌龙院》从传统《乌龙院》中「盗」出了以下元素:

1)人物框架:宋江、阎惜姣、张文远、阎婆四个人物;

2)空间设定:乌龙院这一封闭的物理空间;

3)核心事件:一场发生在夜间的、涉及四个人物的冲突。

「版」在哪里不同? 但在这些被「盗」来的元素之上,《盗版乌龙院》进行了彻底的重新编码:

1)核心动作:从「杀惜」反转为「救惜」——宋江不再是杀人者,而是救人者;

2)人物关系:阎婆与张文远从「丈母娘与女婿的偷情对象」重构为「权力与欲望的合谋者」;

3)冲突性质:从「情杀」转化为「恩义与背叛的对抗」;

4)主题重心:从「道德审判」转向「对‘人’困境的追问」。

不难看出,这一系列反转,与《盗版浮士德》对歌德原著的「盗版」逻辑如出一辙:保留外壳,置换内核;借用符号,灌注当代经验。

几点设想

我之所以觉得《盗版乌龙院》可以做,是因为它在眼下具备几个成熟的条件:1)行当齐全,有老生、花旦、男女丑以及花脸,且人物关系充满张力,有「戏」;2)把老戏植入现代语境,让表演技艺有了当代表达,值得探索;3)适配年轻演员的角色,如阎婆惜、宋江等,相应的新生代演员在武汉均能找到,青春戏曲即是如此。一言以蔽之,《盗版乌龙院》不是传统戏的新编或复排,而是新生代戏曲人、剧场人推动戏曲进行当代转型与蜕变的一次尝试,因而后戏剧、形体剧场、物偶剧场、前卫舞蹈、极简音乐、纪实文献、影像构作均有融入的可能空间。我始终认为,「当代戏曲」不是一个封闭的美学教条,而是一个新的开放的演剧范式。

事实上,这个构思刚提出来的时候,就有朋友建议我们在香港做,同时也有拿到资助的可能——而在香港我们似乎只能做粤剧。我所抱虑的,一是头脑中没有合适的演员和班底,二是粤语的文化语境我们并不熟悉。

于是,我与同在武汉的付导约定说:我知道武汉有一个新生代的旦角演员,她非常棒,也演过类似的传统戏,我们能否给她做一个戏,把传统戏的《坐楼杀惜》改成一个「当代戏曲」版的《盗版乌龙院》?而且一定要有「当代性」和「现实意义」。

面对我的热情邀请,付导有过一丝犹豫。不过,我能明白他的「犹豫」,他怕一个热衷于做当代剧场和后戏剧剧场的年轻剧人,在武汉的戏曲界没创作上的话语权。

我是因为后来与付导、诗洁的不断交流才想到,「其实也可以做汉剧或者京汉合演」。当提出「京汉合演」这个概念的时候,我意识到有几个问题需要解决或者盘清:

1)「京汉合演」是「京包汉」还是「汉包京」?我以为,应当是以京剧为主,以汉剧为辅。2)在语言方面,我认为应当把「武汉话」提炼为一种「艺术语言」,如同「粤剧话剧中的粤语」,增强作品的地域色彩,而不是去方言化;要善于运用方言的特性去塑造人物形象。3)在音乐处理上,我认为可以追求音乐的流行化,突破板腔体/曲牌体的绝对二元限制,以观众的接受为目的而非固守传统腔板。4)布景应当追求极简与写意,强调观众的想象力参与而非用沉浸式的写实物件「塞满」空间。5)在演出上仍保持高度的假定性。6)在主创聘用上,探索制作人负责制,积极寻聘能够提供文化/学术智识、参与创作对话的戏剧顾问。

结语:从文学在场到叩问演剧本体

本文从权叔的一堂课出发,梳理了「杀惜」题材在京剧史上的数次重要改编,继而以《盗版浮士德》为参照,探讨了「盗版」作为一种解构姿态在当代戏曲创作中的方法论意义,最终以《盗版乌龙院》的构思作为回应。不过,在文章即将收束之际,我想回到一个更为根本的问题:我们为什么要「盗版」经典?

我认为,剧场作品的第一要义并不是文学议题的在场(化),而是实现演剧这一假定性行为,即曝露其操演性本质。权叔所推崇的「后设剧场」(Meta-theatre,由犹太籍美国戏剧家莱昂内尔提出),也同样是对这一创作理念的深切呼应。

从《盗版浮士德》到《盗版乌龙院》,「盗版」作为一种解构姿态,呈现出清晰的逻辑链条:

1)对经典的「去神圣化」 ,即将经典从不可触碰的圣坛上拉下来,承认它只是一个可以被拆解、被重组、被「非法占有」的符号;2)对当代经验的「植入」 ,用当下的问题去填充经典的框架;3)对新意义的「生成」 ,在经典的废墟上,建立属于当代语境的新表达。

沈林说浮士德「在被欧洲反复盗版后早已成为一种符号」,这句话同样适用于「乌龙院」。在经历了近一个世纪的反复改(新)编之后,「杀惜」也早已成为一种符号,象征着权力、欲望、恩义与背叛的纠缠。《盗版乌龙院》所做的,正是对这套深嵌于「中国语境」的符号系统的又一次「盗版」。

2026年9月29日于河南商丘

往期回顾👇

张大选丨我所努力的方向

张大选丨苏武归汉之后,如何写作

张大选丨越剧《牡丹亭》唱词新撰

张大选丨当代戏曲《如是,我闻》构想

张大选丨浙百重排经典,假如我是戏剧构作

张大选丨餐秀演出《东坡宴》编剧的话

张大选丨新国风音乐偶剧《悟空说》编剧的话

戏曲音乐剧《大圣新章》完整脚本

戏曲音乐剧《大圣斗真君》概念曲完整歌词

矩阵

🗺️地址:浙江省杭州市萧山区宁围街道金郡澜庭2区

📮邮箱:1519012308@qq.com

🏣邮编:430040

国剧印象2026年9月27日(总第123期)

作者丨张大选

责编丨张大选

标题丨当代戏曲《盗版乌龙院》构想

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-09-30 09:10:13 HTTP/1.1 GET : http://f.sjds.net/a/491415.html
  2. 运行时间 : 0.072578s [ 吞吐率:13.78req/s ] 内存消耗:4,421.29kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=efd9917176d3c1be0bc39bd46fceb782
  1. /www/wwwroot/f.sjds.net/public/index.php ( 0.79 KB )
  2. /www/wwwroot/f.sjds.net/vendor/autoload.php ( 0.17 KB )
  3. /www/wwwroot/f.sjds.net/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /www/wwwroot/f.sjds.net/vendor/composer/platform_check.php ( 0.90 KB )
  5. /www/wwwroot/f.sjds.net/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /www/wwwroot/f.sjds.net/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /www/wwwroot/f.sjds.net/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /www/wwwroot/f.sjds.net/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /www/wwwroot/f.sjds.net/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /www/wwwroot/f.sjds.net/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /www/wwwroot/f.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /www/wwwroot/f.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /www/wwwroot/f.sjds.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /www/wwwroot/f.sjds.net/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /www/wwwroot/f.sjds.net/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /www/wwwroot/f.sjds.net/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /www/wwwroot/f.sjds.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /www/wwwroot/f.sjds.net/app/provider.php ( 0.19 KB )
  23. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /www/wwwroot/f.sjds.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /www/wwwroot/f.sjds.net/app/common.php ( 0.03 KB )
  27. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /www/wwwroot/f.sjds.net/config/app.php ( 0.95 KB )
  30. /www/wwwroot/f.sjds.net/config/cache.php ( 0.78 KB )
  31. /www/wwwroot/f.sjds.net/config/console.php ( 0.23 KB )
  32. /www/wwwroot/f.sjds.net/config/cookie.php ( 0.56 KB )
  33. /www/wwwroot/f.sjds.net/config/database.php ( 2.48 KB )
  34. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /www/wwwroot/f.sjds.net/config/filesystem.php ( 0.61 KB )
  36. /www/wwwroot/f.sjds.net/config/lang.php ( 0.91 KB )
  37. /www/wwwroot/f.sjds.net/config/log.php ( 1.35 KB )
  38. /www/wwwroot/f.sjds.net/config/middleware.php ( 0.19 KB )
  39. /www/wwwroot/f.sjds.net/config/route.php ( 1.89 KB )
  40. /www/wwwroot/f.sjds.net/config/session.php ( 0.57 KB )
  41. /www/wwwroot/f.sjds.net/config/trace.php ( 0.34 KB )
  42. /www/wwwroot/f.sjds.net/config/view.php ( 0.82 KB )
  43. /www/wwwroot/f.sjds.net/app/event.php ( 0.25 KB )
  44. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /www/wwwroot/f.sjds.net/app/service.php ( 0.13 KB )
  46. /www/wwwroot/f.sjds.net/app/AppService.php ( 0.26 KB )
  47. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /www/wwwroot/f.sjds.net/vendor/services.php ( 0.14 KB )
  53. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /www/wwwroot/f.sjds.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /www/wwwroot/f.sjds.net/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /www/wwwroot/f.sjds.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /www/wwwroot/f.sjds.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /www/wwwroot/f.sjds.net/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /www/wwwroot/f.sjds.net/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /www/wwwroot/f.sjds.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /www/wwwroot/f.sjds.net/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /www/wwwroot/f.sjds.net/app/Request.php ( 0.09 KB )
  84. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /www/wwwroot/f.sjds.net/app/middleware.php ( 0.25 KB )
  86. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /www/wwwroot/f.sjds.net/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /www/wwwroot/f.sjds.net/route/app.php ( 1.72 KB )
  100. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /www/wwwroot/f.sjds.net/app/controller/Index.php ( 4.81 KB )
  104. /www/wwwroot/f.sjds.net/app/BaseController.php ( 2.05 KB )
  105. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /www/wwwroot/f.sjds.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /www/wwwroot/f.sjds.net/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /www/wwwroot/f.sjds.net/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /www/wwwroot/f.sjds.net/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /www/wwwroot/f.sjds.net/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /www/wwwroot/f.sjds.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /www/wwwroot/f.sjds.net/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /www/wwwroot/f.sjds.net/runtime/temp/92ad25f387b49bf6b973ed96044c92bd.php ( 8.11 KB )
  140. /www/wwwroot/f.sjds.net/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000644s ] mysql:host=172.18.0.4;port=3306;dbname=f_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001024s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000482s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000375s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000566s ]
  6. SELECT * FROM `set` [ RunTime:0.000305s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000696s ]
  8. SELECT * FROM `article` WHERE `id` = 491415 LIMIT 1 [ RunTime:0.000366s ]
  9. UPDATE `article` SET `lasttime` = 1790730613 WHERE `id` = 491415 [ RunTime:0.002276s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000349s ]
  11. SELECT * FROM `article` WHERE `id` < 491415 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000455s ]
  12. SELECT * FROM `article` WHERE `id` > 491415 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000375s ]
  13. SELECT * FROM `article` WHERE `id` < 491415 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000552s ]
  14. SELECT * FROM `article` WHERE `id` < 491415 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000593s ]
  15. SELECT * FROM `article` WHERE `id` < 491415 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000587s ]
0.082462s