当前位置:首页>戏曲>徐畅|明代戏曲剧本中的“插演”

徐畅|明代戏曲剧本中的“插演”

  • 2026-05-11 18:33:21
徐畅|明代戏曲剧本中的“插演”

明代戏曲剧本中的“插演”

徐  畅

内容摘要:作为戏曲剧本中插入的表演片段,明代的“插演”主要分为歌舞表演、器乐演奏和戏剧表演三类。“插演”在元杂剧中就已存在,明初多用于烘托宫廷演剧的吉庆氛围,明代中后期文人剧作家有意识地将“插演”融入叙事结构,明末剧作家则进一步发掘“插演”的艺术功能,追求舞台呈现的丰富性与精巧度。“插演”既是对明代舞台表演的记录,也是剧作家艺术构思的产物,在演出形态、艺人处境和观演生态等三个方面展现出独特的戏剧史价值。“插演”不仅保存了演出名目与形式,刻画了明代艺人的处境与传习细节,还呈现了明代剧场“选定节目—表演—反馈”的观演互动过程,为剖析古代剧场形态提供了文本依据。

关键词:明代戏曲插演戏中戏戏剧史料

中图分类号: J80   文献标识码: A

文章编号:0257-943X-(2026)02-0069-12

徐畅,文学博士,北京师范大学中华文化研究院|京师书院在站博士后,代表作有《“曲圣”的诞生:魏良辅形象与明代表演文化的运作》等;目前主要研究兴趣领域为:明清戏曲文献、明代戏曲与社会文化、中国戏曲表演理论以及英语世界的中国古典戏曲研究。

“插演”是戏曲剧本中插入的表演片段,这一片段以戏曲故事中的人物充当演员与观众,并且在舞台上直接展现。[1]这些片段包括演员、观众和表演节目三个要素,大体分为歌舞、弹唱、杂耍等技艺表演,有角色划分的戏剧演出和有表演性质的插科打诨三类。

“插演”在元杂剧中就已存在,在明代戏曲中表现得更为丰富。针对戏曲剧本中的“插演”,刘晓明、谢美婷均以穿插科诨为核心阐释了“插演”的文学和舞台功能,不过,尚未全面搜罗相关文献,亦未触及“插演”的戏剧史料价值。[2]江巨荣、黎国韬曾先后撰文梳理宋金杂剧在南戏和明代传奇杂剧中的遗存形态与插演情况[3],王一任、徐畅和武昭君则分别就明代杂剧和传奇两种文体中的“插演”进行了文献排查和研究[4]。以上研究已关注并揭示了特定剧本中以特定形态出现的“插演”及其戏剧史料价值,然而在分类梳理揭示“插演”的历时性演变等方面仍有未尽之处,对其戏剧史料价值的探讨亦尚未充分展开。本文将在前人研究的基础上,系统介绍明代戏曲剧本中“插演”节目的类型,梳理其流变过程,并总结“插演”节目的戏剧史料价值。

一、“插演”的类型

明代戏曲剧本中,共有59部杂剧和109部传奇涉及“插演”,总计339个“插演”节目。这些节目的表演形式以歌舞表演、器乐演奏和戏剧表演三类为主,另外还有少量的其他艺术样式。其中,歌舞表演199个,器乐演奏90个,戏剧表演15个,其他演出形式节目35个。

歌舞表演是明代戏曲“插演”节目最主要的形式,而在剧本中更偏重表现歌唱。歌唱具有歌词、伴奏、演唱三个要素,戏曲文本最善于呈现的就是歌词。中国古代配乐演唱的文学体裁大体上无外乎诗、词、曲三种,歌舞表演中演唱诗歌如《丹桂记》[5]第二十出《秋怀》中花鼓艺人将刘希夷《代悲白头翁》、岑参《韦员外家花树歌》和李白《乌夜啼》三首唐诗捏合在一起组成了一首抒发青春易逝之悲、思妇怀人之苦的歌词。

唱曲是歌唱表演和其他类型的表演节目中最为常见的形式。演员所唱之曲有曲牌和俗曲之别。绝大多数歌舞节目都是以演唱曲牌的形式呈现,在此不作举例。俗曲则是乡村民歌和城市小调的统称,在明代戏曲中也不少见。一般情况下,俗曲独立于本出戏的音乐系统之外,常常出现在科介和宾白中,不构成套曲的一部分,歌词的语言风格较为俚俗。

明代戏曲中舞蹈节目的呈现方式有独舞也有群舞。独舞如《鸣凤记》第十三出《花楼春宴》中严府家伎解语花献上的独舞表演。群舞则有双人舞和队舞之分,双人舞如《量江记》第三出《内宴》中由老旦、小旦两种行当的演员所演舞蹈,《玉杵记》第三十一出《捣药壶中》的男主人裴航夜游清虚洞府时所见二位仙女表演的《霓裳羽衣舞》。明传奇中的舞队当属《燕子笺》第四十一出《合宴》中的设计最有特色,这一出中用队舞的形式表演《童子拜观音》《天禄青藜》《拐李仙人》《波斯进宝,太平有象》四个节目,舞队全部佩戴假面扮演舞蹈剧情中的人物。

明代戏曲剧本中插入的器乐演奏节目既有独奏,也有合奏,涉及的乐器则可分为弦乐器、管乐器和打击乐器:弦乐器包括琴、筝、琵琶、箜篌等;管乐器包括笛、箫、笙、海螺等;打击乐器包括锣、鼓、花鼓、檀板等。其中弦乐器所占比重最大,以琴和琵琶两种乐器表演的节目最多。这些乐器演奏技巧繁多,戏曲演员难以掌握,时常运用程式化的表演动作并通过演唱曲词来模拟演奏。比如,《玉簪记》第十六出中陈妙常和潘必正演奏琴曲,就涉及了《潇湘水云》《雉朝飞》《广寒游》三首琴曲。这三首琴曲都有明代的曲谱传世,剧本中的歌词与各琴谱版本不同,应为作者高濂为辅助戏曲表演而作,非专为琴操所配。又如,《投桃记》第五出《弄笛》中男主角在吹笛的同时演唱两支[懒画眉],这显然是现实生活中不可能出现的。

在戏曲剧本中插入戏剧表演节目的演出形式被称为“戏中戏”。明代戏曲中的“戏中戏”的呈现方式有两种:第一种是传奇中的人物扮演某已有剧目中的人物并表演这个剧目中的一个片段。《绿牡丹》第十出《友谑》中谢英和柳希潜以扮戏为引欲侮辱取笑顾粲,三人分角色饰演了《韩信胯下》(即《千金记·受辱》)的片段,谢英和柳希潜主动扮演淮阴少年王一、王二,让不会串戏的顾粲扮演韩信,将自我带入人物,借“胯下之辱”这个剧中情节侮辱顾粲。插演情节与主线情节的一致性成为这出戏的一个看点。第二种是将整个演剧过程详细完整地叙述出来。例如,《麒麟罽》第十七出《谈笑开释》中完整插演《昭君出塞》杂剧;又如,《一捧雪》第五出《豪宴》中严世蕃宴请莫怀古,席间表演《中山狼》杂剧;等等。除了歌舞、器乐、戏剧以外,明代戏曲还会呈现多种多样的技艺表演,如《投梭记》中的社戏、《蕉帕记》中的动物杂耍、《八义记》中的评话、《南极登仙》杂剧中的百戏等等。

明代杂剧与传奇两种戏曲文体中“插演”的类型和呈现方式大致相同,但有两点值得注意:其一,在明杂剧中,存在以表演本身作为全剧结构核心的情况,这种现象主要出现在明中后期兴起的单折杂剧中,典型案例有徐渭《狂鼓史渔阳三弄》和王衡《真傀儡》等。相比之下,明传奇虽亦有全折围绕“插演”展开的情形,但通常并不贯穿全剧始终;其二,明前期的宫廷杂剧中多见院本插演,明传奇中则无此类案例。

二、“插演”的流变

“插演”在现存元杂剧剧本中就已存在。元杂剧中“插演”的主要特点是游离于剧本主干故事之外,起到调剂冷热场面、填补排场空白、展示各类技艺的作用。比较典型的例子是《西厢记》第三本第四折中插演《双斗医》。剧本仅有一段科范提示:“(洁引太医上)(《双斗医》科范了)”[6]。可见《双斗医》是一出现成的小戏,在多个元杂剧剧本中都有出现。但凡剧情写到寻医问诊,便可插入表演,其主要是调侃两位庸医,基调诙谐,与主线剧情关系不大。此外还有摔跤、口技、木偶、舞蹈、魔术等技艺的展示。另外,现存元杂剧剧本中也存在类似《西厢记》第二本《崔莺莺夜听琴》《风雨像生货郎旦》等专门描述表演情节的情况。需要关注的是,这些“插演”节目多见于明代刊刻的元杂剧选本,已经过明代宫廷和文人的编辑,无法完全等同于元代舞台的原貌。[7]因此,本文将研究重点放在明代撰写且有明代刊本的剧作上。

明前期的“插演”节目多见于为宫廷演剧服务的剧本中。黎国韬考察《脉望馆钞校古今杂剧》中十八种标注为“本朝教坊编演”的剧作,指出其中存在多处院本“插演”现象:如《众群仙庆赏蟠桃会》插演了《东方朔偷桃》《四道姑》两个院本,《降丹墀三圣庆长生》插演了《上小楼》院本,《河嵩神灵芝庆寿》插演了“冲撞引首”类院本,《广成子祝贺齐天寿》插演了“数名”类院本。[8]这些院本“插演”,与元杂剧剧本中的“插演”情况相似,皆游离于剧本主干之外。

明初宫廷杂剧剧本中,还存在大量宴会演出场面。比如,朱权撰杂剧《冲漠子独步大罗天》中有瑶池宴上金童玉女献果后嫦娥率舞队表演: 

(华云)嫦娥,你舞一曲霓裳,着俺群仙快乐者。(嫦娥挟队子舞)(群仙作雅乐)(唱)[沽美酒带太平令]舞春风出臂鞲……(舞毕)(乐止)(华云)你再舞那冲漠子的那《三换小梁州》我看。(嫦娥再舞科)(乐作)(唱)[三换小梁州]琳琅仙籁响天球。玉宇初秋。桂花明月朗朱楼。香风透,帘控紫金钩,旌旗剑戟遮前后,坐轩车衮冕珠旒。锦绮裘,金襕袖,玉骢驰骤,门外拥貔貅。龙盘虎踞江山秀,镇皇图永沐天休。物咸亨,人皆寿,金章紫绶,万岁乐千秋。满天星斗明如昼,玳筵前排列珍羞。弦索搊,笙箫奏,众音合奏,宜唱三换小梁州。(舞毕)(乐止)(毛女队子打渔鼓唱)(唱毕)(下)[9]

此类场面还多见于朱有燉、贾仲明的杂剧作品中,专以描写神仙道化、欢乐吉庆为主,供宫廷娱乐之用,缺乏实质的叙事功能。此外,明初刘兑《金童玉女娇红记》亦涉及院本“插演”。

明中后期的文人剧作家对元代和明前期戏曲中的“插演”进行模仿、编排和加工,使其叙事功能愈发突出,成为直接服务于剧作主旨的情节构件。徐渭《四声猿》杂剧中的《狂鼓史渔阳三弄》一剧,是最引人注目的例子。该剧仅有一折,本身以“戏中戏”为主体架构:背景设定在阴曹地府,名士祢衡死后被召为天庭的修文郎,在赴任之前,地府的判官请他重新表演生前击鼓骂曹的壮举,而已经沦为鬼魂的曹操则被提来,作为被审判的对象。剧本在祢衡表演骂曹之间,又插入一段女乐歌舞表演: 

(二女持乌悲词乐器上)(曹)你两人今日却要自造一个小令,好生弹唱着,劝俺们三杯酒。(祢对曹蹋地坐介)(女唱)那里一个大鹈鹕,呀,一个低都,呀,一个低都。变一个花猪低打都,打低都,唱鹧鸪呀,一个低都,呀,一个低都。唱得好时犹自可,呀,一个低都呀,一个低都;不好之时低打都,打低都,唤王屠,呀,一个低都,呀,一个低都。(曹)怎说唤王屠?(女)王屠杀猪。(进判酒)(又一女唱)丞相做事太心欺,呀,一个跷蹊,呀,一个跷蹊。引惹得旁人,跷打蹊,打跷蹊。说是非,呀,一个跷蹊,呀,一个跷蹊。雪隐鹭鸶飞始见呀,一个跷蹊,呀,一个跷蹊;柳藏鹦鹉,跷打蹊,打跷蹊。语方知,呀,一个跷蹊,呀,一个跷蹊。(曹)这两句是旧话。(女)虽是旧话,却贴题。(曹)这妮子朝外叫。(女)也是道其实,我先首免罪。(进曹酒)(一女又唱)抹粉搽脂只一会而红,呀,一个冬烘,呀,一个冬烘。(又一女唱)报恩结怨,烘打冬,打冬烘,落花的风,呀,一个冬烘,呀,一个冬烘。(二女合唱)万事不由人计较,呀,一个冬烘,呀,一个冬烘;算来都是烘打冬,打冬烘,一场空,呀,一个冬烘,呀,一个冬烘。(二女各进酒)[10]

此处的表演者本是曹操丞相府的女乐,编制了三首小令,歌词大量运用象声词和俗谚,风格诙谐俚俗,用以控诉、嘲弄曹操的残暴。女乐称“雪隐鹭鸶飞始见,柳藏鹦鹉语方知”“万事不由人计较,算来都是一场空”等句“虽是旧话,却贴题”,可见剧作家对表演内容精心构思,使之贴近主题。

万历间陈与郊的《麒麟罽》传奇“插演”作者自撰《昭君出塞》杂剧,表演内容与故事主旨、情节皆相互呼应。《麒麟罽》传奇以韩世忠、梁红玉故事为主线,剧作第三十七出《谈笑开释》写胡待制在烟雨楼设酒宴请韩世忠,席间谈及妓女吕小小因贞烈不待客而入狱之事,因传吕小小前来,吕小小在席前完整地表演了《昭君出塞》杂剧,正当宋金交兵之时,于宋将韩世忠面前演王昭君故事,叹出塞和亲之苦,潜藏收复中原之呼,正合时事。韩世忠十分为之感动,因此将她开释。

明末剧作家则更有意识地加工“插演”元素,更加注重舞台搬演的便利和舞台效果的呈现。陈与郊的《麒麟罽》剧本并没有对表演事件的场上调度做过多的设计:吕小小作为一名囚犯表演《昭君出塞》杂剧时是没有预先准备的,扮演女官、旗将的配角演员和两整套服饰装扮如何能在有限的时间和特定场合之下实现配置?如何处理吕小小换装时间留下的舞台空白?与陈与郊不同,明末吴炳在《绿牡丹》传奇中则努力还原了更具现实感即兴演剧场景:

 (净想介)有了,做《千金记》上一出《韩信胯下》,你我做淮阴少年,顾兄,你便做韩信。(小生)小弟从不会串戏。(净)又来道学了,大家都在戏场中逢场作戏,这也何妨?(强小生立介)你便不唱,只立在场上,当个韩信便了。苍头,你就打打鼓板。(末应介)(净、丑换小帽介)[窣地锦裆]淮阴年少总驯良,尀耐韩生忒性刚。今朝必定到街坊。要使旁人笑一场。[11]

吴炳的演剧场景中,充分考虑了演员的配置和服装转换问题。与吕小小饰演王昭君的全披全挂相比,吴炳的剧中表演开始时只有两个扮演淮阴少年的演员进行了简易的换装,戴上小帽以表现所扮演人物身份,进入“串戏”表演的状态。

阮大铖更是考虑到“插演”的演出效果。其名作《燕子笺》就多次穿插表演活动,除上文提及第四十一出《合宴》中展现的四个具有角色扮演性质的队舞节目外,第五出《合围》中插入琵琶表演,第二十九出《刺奸》插入歌唱表演俗曲《粉红莲》《苏秦》,后者歌词出自明代苏复之《金印记》传奇。阮大铖《春灯谜》传奇第六出《冶游》插入龙灯游戏,系荆州码头灯节赛会表演,众扮龙灯、鬼脸、张生、法聪、红娘等角色表演舞蹈,唱[六幺令]二支;第二十四出《虏卜》中插演胡女舞蹈,并演奏琵琶、海螺细乐伴奏;第三十九出《表错》插演评话《十错认》,打锣伴奏。阮大铖《双金榜》传奇第七出《灯游》插演“闹滚灯”“骑竹马”“妆故事”等民间技艺,其中“妆故事”具有角色扮演性质,民间演员表演“昭君抱琵琶”“杨六娘对舞梨花枪”等情节。阮大铖《牟尼合》传奇第三出《兄遣》插演马上琵琶弦索合奏,唱[八声甘州歌]曲牌;第二十八出《伶詷》以猴戏方式表演“初祖渡江”“东方朔偷桃”“总管吃娃娃”“女人哭泣”,猴戴假面分别扮演达摩祖师、东方朔、麻叔谋和萧娘子,耍猴人打锣指挥,并配合唱曲[六幺令]。阮大铖剧作中的“插演”节目,不仅数量极多,形式丰富,更每每别出心裁,尤其以《合宴》《伶詷》两折为代表,展现多个节目组成的大型表演场面,舞台调动安排十分精妙,与剧情结合的设计不落窠臼,独树一帜,令人耳目一新。

清代无论是宫廷连台本戏还是文人剧作都将“插演”作为艺术手段进行自觉地运用。在明代的基础上,清代剧作家将“插演”的艺术表现力提升至新的高度,使其在塑造人物、营造氛围、强化叙事张力与情感浓度方面的作用愈发突出。清初李渔《比目鱼》传奇专以表现戏班学戏、排演活动为要,将“戏中戏”作为全剧的核心。蒋士铨《四弦秋》传奇也以琵琶女与白居易的观演互动为剧情核心。最值得关注的是,清代戏曲最重要的两部作品——《长生殿》和《桃花扇》都十分注重“插演”的运用:《长生殿》中不仅浓墨重彩地表现了杨玉环的《霓裳羽衣舞》,还以李龟年弹词的方式重叙李杨故事,抒发兴亡之感。《弹词》一折实为全篇之眼。《桃花扇》中更是以柳敬亭、苏昆生两位演员作为线索人物,多次展现柳敬亭说书、苏昆生唱曲的桥段。女主人公李香君首次出场,便借由“学曲”活动完成了形象的初次塑造。在这些作品中,“插演”节目不仅被完美地用于刻画人物,更被赋予了承载历史情感的使命。[12]

“插演”的形态与功能在元明清三代呈现出历时性变化:元杂剧中的“插演”已初具规模,以技艺展示和场面调剂为主。明初宫廷剧作延续此风,“插演”多为烘托吉庆氛围,叙事功能薄弱。至明中后期,文人剧作家开始有意识地将“插演”融入叙事,使其逐渐成为全剧情节的有机构件。明末剧作家更注重“插演”的舞台实践,不仅在节目中追求形式的丰富与精巧,更在场面调度、角色配置上匠心独运,使“插演”与剧情紧密结合。及至清代,以《长生殿》《桃花扇》为代表的一系列剧作进一步将“插演”提升至塑造人物、寄托兴亡的重要地位,最终使其由单纯的场面穿插演变为承载历史情感与宏大叙事的艺术手段。

三、“插演”的戏剧史料价值

“插演”既是对明代戏曲舞台表演的记录,也是剧作家艺术构思的产物,其戏剧史料价值体现在演出形态、艺人处境和观演生态三个方面。

(一)演出形态的留存

“插演”保存了大量珍贵的演出名目,不仅涉及歌舞、服饰、道具等,更为了解金元院本等古剧的演出形态,以及明代南北曲在具体演出中的灵活运用,提供了情境案例。

首先,“插演”保存了明代乐曲(尤其是俗曲)名目和民间技艺的表演方式,其中多有首次出现于文献记载的情况,如《红蕖记》第三出中以演员扮作姑嫂对唱的形式插演《采莲歌》;《蕉帕记》第三出插演民间舞蹈《调柳翠》;《双杯记》第二十五出插演“忠孝节义词”;《红梅记》第十九出插演花鼓伴奏的《动情歌》;《李丹记》第八折插演筝独奏曲《游仙曲》;《鹦鹉记》第二十二折插演俗曲《梅花毒》;《绣襦记》插演民间曲艺莲花落;《邯郸记》插演俗曲《银纽丝儿》;《燕子笺》第二十九出《刺奸》插演俗曲《粉红莲》;《鸳鸯棒》第十出插演琵琶弹唱《书生负心》;《风流院》第七出插演琵琶弹唱盲词《魏太监》;等等。

其次,“插演”保存了金元院本的演出形态,可参见前文所引江巨荣、黎国韬的研究。

最后,“插演”展示出明代南北曲在演出中的灵活变动,如《玉玦记》第二十九出《商嫖》中用南曲演唱元代马致远所作散曲套数《[双调]夜航船·百岁光阴》。在这个演出片段中,观众表示“不喜北曲”,要求换作“南调”演唱,于是将属于北曲双调的《夜航船》套曲改做南曲商调[集贤宾]套曲演唱。剧作家经过一定程度的简化和自我创造,将马致远原作改写为南曲。

(二)艺人处境的刻画

“插演”中关于艺人形象、培养细节和艺术理念的刻画,恰好弥补了同期其他史料记载的不足,反映了当时艺人的处境,以及与艺人生活相关的丰富社会图景。首先是艺人形象。在明代的史书、文章、笔记、小说等文献中,关于艺人的记载并不多见。而仅有记录又多聚焦那些身怀特殊技艺、艺术成就突出,或与重要剧作家交往密切的演员群体,普通底层艺人的生活处境鲜有记载。“插演”恰恰在一定程度上弥补了这一空白,生动呈现了民间妓女、街头艺人形象。《绣襦记》中“厌习风尘”的李亚仙、《玉环记》中“志在从良”的玉箫、《玉玦记》中谋财害命的李翠翠和李娟奴母女都属于民间妓女一类。《风流院》第七出《絮影》中的盲婆属于街头艺人一类。她自叙云:“我本好人家,胸前结琵琶。因此琤琤的,两指日日扒。扒得几贯钞,便落青荷包。买些酸淡酒,再买腊猪胞。阿夫手儿快,多吃盘中菜。阿奴眼又颓,杯中酒白赖。让他吃多些,养着鸟儿肥。上床双脚起,快乐日咿咿。”[13]此实乃底层艺人无聊无赖的生活写照。

同时,“插演”还提供了其他史料中欠缺的艺人培养、技艺传习的资料,如《东郭记》第八出《绵驹》: 

(绵拨琵琶教妓唱介)……只将这两调唱会了,明日又教你。这位要唱新曲儿,随我唱一套[寄生草]罢。但得合箫,唱来更好。二位大姐可会吹[寄生草]?(妓)这倒却才学会的。(绵)如此却凑巧,我唱,你每吹便了。(绵王唱妓吹介)……[14]

绵驹以琵琶伴奏进行示范表演,而后要求学生将两支歌曲练习熟练,明日再学新曲。这种教学的方式即所谓“口传心授”,在传习的过程中,学生只要完全按照老师示范的方式表演即可。可见,明代戏曲中艺术教学的互动主要分为“传”和“习”两部分,“传”的主体是教师,“习”的主体是学生。教师“传”的工作也分两部分,一是讲明艺术规范和道理,二是示范表演,而学生的“习”的任务则只在于练习,复制教师的表演,在传习的过程中,并不强调对艺术创造力或批判思维的培养和追求。《郁轮袍》第二出《春游》中王维授段善本琵琶曲,不仅示范表演,还赠以曲稿,可见当时的艺术传习在“口传心授”的示范法之外也会以曲谱等形式作为辅助教学和记忆的工具。

更为重要的是,“插演”通过对民间演员形象和技艺传习过程的刻画,展现了明代剧坛审美风尚和戏曲观念。“插演”中多有关于歌唱方法的讨论。比如,《紫箫记》第六出鲍四娘教霍小玉唱曲,先道出唱曲“在行”的要求是“调儿记得远”“板儿落得稳”“声儿唱得满”,即习曲的三个关键是旋律、节奏和音色,要做到旋律准确,节奏平稳,音色饱满,而后又告诫霍小玉要懂得音律,休要“拗折嗓子”。[15]在这段情节中,汤显祖对唱曲的技术与音律都表现出了审慎态度,其后有一段“数调名”的文本,表演性地呈现了汤显祖对于戏曲曲牌及其分类的熟稔,这与他在私人信件中“正不妨拗折天下人嗓子”[16]的宣言形成对照,提供了研究汤显祖的舞台观念和“汤沈之争”的重要参照。又如,《西楼梦》第六出《私契》中帮嫖模仿村妓的歌唱: 

(丑)二哥,方才老一这几个调,被我都摹拟在此了。(小净)这样喉咙却像什么?(丑)那阔调呵。

[黄莺儿]如把破筒敲,(小净)哑调呢?(丑)癞虾蟆猛醋哮,(小净)我也模拟在此了,那低调呵。雨中曲蟮啼阴调。(丑)翻高字像雌猫怕交。(小净)做拖腔似绵纱慢摇。(同唱)快来好似鸱鸮叫。(净搔喉自唱介)(小净、丑)看他把喉搔,接连几套,越听越难熬。[17]

此处巧用譬喻,表现声音的丑恶难听:“把破筒敲”谓阔调喧闹聒噪,“癞虾蟆猛醋哮”谓哑调酸涩枯陋,“雨中曲蟮啼阴调”谓低音驳杂不纯,“雌猫怕交”谓高音尖锐刺耳,“绵纱慢摇”谓拖腔软塌无力。接着,作者以男主角于叔夜之口提出唱曲的正路:“歌之所重,大要在识谱。不识谱,不能明腔。不明腔,不能落板。往往以衬字混入正音,换头误为犯调,颠倒曲名,参差无定,其间阴阳平仄换押转点之妙,又尽有未解者。”[18]村妓和文人的俗雅较量展现出了审美观念的内在张力。当然,我们必须意识到这些描写、刻画和观念呈现都是剧作家艺术构思的产物,从舞台动作设计到虚构情境的营造,无不凝聚着他们的艺术经验、想象力与审美趣味。

(三)观演互动的呈现

“插演”保存了明代剧场观演互动的鲜活情境,尤其展现了观众对表演事件的高度参与。从打破“第四堵墙”到后戏剧剧场理论,观演关系一直是现代戏剧学热衷讨论的话题之一。“插演”的表演情境是由表演者和观众两类主体构建起来的,二者并非相互孤立,而是处在一种积极互动的现场情境之中。“插演”节目中的观演互动情况由表演开始前节目的选定、表演过程中舞台上信息的流动、表演后观众的鉴赏与反馈等三个方面展现出来。

正式表演开始之前存在选定节目的过程,部分剧本有意识地表现观众和演员之间的磋商过程,如《一捧雪》第五出《豪宴》中有“点戏”桥段:演员奉上一份可供挑选的目录,由观众决定其所演出的节目,这时一般会依据家乐主人或宾朋中地位较高者的意见来选定。有时观众不但会选定节目,还提出特殊的要求,如《玉玦记》第二十九出《商嫖》中观众要求改用南调演唱元代马致远的北曲《百岁光阴》,又如《玉环记》第六出《韦皋嫖院》中观众要求数杂剧名并以清唱的形式表演。观众与演员商议节目的过程也能展现出演员的职业素养,如《金钿盒》第六出《丑合》写纨绔子弟贡癸酉与伶人周小三串弋阳腔《活捉张三郎》,贡癸酉仅从伶人周小三的对答之中,便以“在行”评价她。周小三被评价为“在行”后的回答“胡乱晓得几折,不敢在三爷面前班门弄斧”[19],不仅是对观众的阿谀,更说明在当时的社会意识中,观众对艺术的见解常常不比演员逊色,而演员意识到这一点并在观众面前保持谦卑的态度,说明演员的确具有丰富的从业经验和对观众的敬畏之心。这是“说话在行”的评价的内在含义。

在“插演”的呈现中,观众命题、演员即兴创作的情况也较为多见。《邯郸记》第十三出《望幸》中观众提出要求:“劳你打个歌儿,将月儿起兴,歌出船上事体。每句要‘弯弯’二字,中两句要打入‘帝王’二字,要个尾声儿有趣。”演员唱罢,观众又要求:“你要四个‘尖尖’,中间两句也要‘帝王’二字,也要个悄尾声儿。”[20]《牡丹亭》第九出《肃院》中春香要求:“把花郎的意思,搊个曲儿俺听。”[21]《长命缕》第十八出《禅逅》中观众提出“官人好游赏”“官人们携妓”[22]两个命题,并要求后者用[南醉扶归]演唱。值得注意的是,这类即兴命题表演的情节,目前只见于戏曲剧本的文学描写,在明代其他戏剧史料中则未见实质记载。这类描写可能出于剧作家增强戏剧冲突、塑造人物或渲染剧场氛围的目的,而对实际表演情景进行了艺术化的加工。

在表演结束后,观众常会对节目内容及表演本身进行鉴赏与评判,并形成即时反馈。《玉合记》第十一出《义姤》中韩翃对乐妓的每一段表演都加以点评,两段评价皆为四六句式。对歌唱的评语中“绮庭玉树”“绣幌金荃”皆言现场环境,“声声自合鸾歌”言其音色动听,“字字偏谐凤律”[23]言其音准和咬字皆佳,而后又以《子夜歌》与《阳春》与之相比,认为柳氏之歌胜过这些经典的高雅歌唱作品。对舞蹈的评语则与舞蹈伴唱的歌词相接,不再细写舞蹈动作,而是化用曹植《洛神赋》中形容女神的譬喻,言柳氏舞姿夭矫迅捷若游龙,又说她轻盈超过翔集之鸟。观众鉴赏和反馈不仅仅用宾白的形式表达,有时也直接用剧曲接唱的形式表现,如《青衫记》第七出《郊游访兴》用[惜奴娇][斗宝蟾]两曲牌从技术、情境和感想三个层面表达对裴兴奴琵琶表演的评鉴。

对“插演”的考察启发我们进一步研究、探讨中国古典戏剧中“观演一体”的剧场美学。“插演”通过节目选择、即兴表演、观众评议和技艺传授等互动环节,展现了明代剧场的参与性特征。相似的观演互动情况,可见于明代白话小说中。《金瓶梅》第六十三回“西门庆观戏感李瓶”,为李瓶儿丧事“叫了一起海盐子弟搬演戏文”[24],表演的剧目是《玉环记》,完整展现了商议、选定表演内容、观众讨论演出效果的情况:

西门庆令书童:“催促子弟,快吊关目上来,分付拣省热闹处唱罢。”须臾,打动鼓板,扮末的上来,请问西门庆:“小的‘寄真容’的那一摺唱罢?”西门庆道:“我不管你,只要热闹。”贴旦扮玉箫唱了一回。西门庆看唱到“今生难会,因此上寄丹青”一句,忽想起李瓶儿病时模样,不觉心中感触起来,止不住眼中泪落,袖中不住取汗巾儿搽拭。又早被潘金莲在帘内冷眼看见,指与月娘瞧,说道:“大娘,你看他,好个没来头的行货子。如何吃着酒,看见扮戏的哭起来?”孟玉楼道:“你聪明一场,这些儿就不知道了。乐有悲欢离合,想必看见那一段儿,触着他心,他觑物思人,见鞍思马,才落泪来。”金莲道:“我不信。打啖的吊眼泪,替古人耽忧,这个都是虚。他若唱的我泪出来,我才算他好戏子。”[25]

明清之际文人对“观剧骂座”事件的记录同样展现了此种充满互动、参与式的剧场形态。崇祯十一至十二年间,侯方域赴南京乡试,与复社士子同游之际,请阮氏家班取乐,汪琬《题〈壮悔堂文集〉》记录道: 

诸子方以试事集金陵,朝宗置酒高会,凡吴越闽楚豫章之客皆在,不下百余人,促征阮伶佐饮。……酒酣,方度曲,四座相顾称善。使者走告大铖,大铖心益喜,已而朝宗与客使酒,厉声论天下事,脱帽箕踞,叫呶纷纭,遂稍及大铖,戟手痛骂不绝口,与歌管之音相杂。[26]

可见,中国古代的观演关系难以完全套用西方传统戏剧理论予以解释,其表演现场并非镜框式舞台,更未曾构筑起“第四堵墙”。结合“插演”节目和小说的叙述,可见当时的表演舞台常与人物生活情境高度融合,观众可从多角度参与欣赏,而演员与观众之间的距离感则未被刻意强调。正是在这样的演出环境中,演员与观众之间形成了一种更为密切、有机且充满不确定性的互动关系。

当然,与其他类型的史料相比,“插演”提供了观演互动的内部视角,这种视角呈现的是正在进行中的、未完成的剧场建构过程:从表演者的角度出发,“插演”呈现了节目的选定和表演过程;从观众视角出发,“插演”呈现了观众的反应、点评和互动。而其他史料大多采取作为观演事件的旁观者的外部观察视角,冷静地描述表演的发生,以及表演对舞台之外的世界形成的影响。“插演”作为剧本中嵌入的表演片段,集中体现了明代剧作家对表演艺术的创造性想象,也使当代研究者可以通过这些“表演想象”而“想象表演”,了解到明代表演现场的观演关系形态。在“插演”节目所呈现的观演互动中,我们可以发现,明代的演员和观众的角色常常处在变动之中,演员不仅是“被观看”的对象,也是“观看”的主体,观众不仅是“观看”的主体,也同样是“被观看”的对象。这种相互感知、即时性“表演—反馈”的互动模式正昭示了明代剧场中“感知共同体”(community of sense)[27]的独特形态。“插演”让我们看到剧场互动是如何被精心设计和呈现的,而其他文献则告诉我们,这种互动确实在社会中发生过,并产生了何种影响。

结  语

长期以来,学界对明代剧场的认识多依赖于史书、笔记和白话小说中的记载。戏曲剧本本身是否能够为研究戏曲形态及其历史发展提供有效的史料呢?与其他类型的文献资料相比,戏曲剧本因其自身特有的“表演性”,更利于保存特定时代的戏剧形态与演出生态。从这个起点出发,本文聚焦于明代撰写并由明人刊刻的戏曲剧本,对其中的“插演”现象进行专门考察。这些“插演”节目,虽然大多并非忠实记录明代剧场的表演情况,但作为一种对表演艺术更具“现场感”的舞台呈现,“插演”自然地显示出明代剧作家对表演舞台、观演关系等剧场要素的想象和塑造过程。

要考察一个戏剧文本现象,首要的是全面钩稽相关材料,而关键步骤则在于对其进行系统性分类,以利于深入分析。为了充分呈现明代“插演”形态的多样性,本文的第一部分将“插演”节目分为歌舞表演、器乐演奏、戏剧表演和其他演出形式四类。对一种艺术现象的研究,不仅需在共时层面进行分门别类的辨析,亦有必要从历时角度梳理其演变脉络。鉴于明代戏曲的创作与表演生态在嘉靖年间发生了显著转变,本文以此为界,将“插演”在明代的发展划分为前期与中后期两个阶段,并着重指出其与整体戏剧叙事之间的关系在此过程中呈现出日益紧密的趋势。对“插演”价值的认识不应仅停留在将其视为戏剧叙事的组建或舞台上的点缀。其更根本的价值在于,它聚焦于“如何演”的微观过程,为当代研究者理解古典戏剧形态提供了“表演性”与“过程性”的证据。“插演”不仅保存了可资考证的具体艺术名目和反映艺人处境的资料,还生动揭示了演员与观众如何共同构建一个即时、互动的表演情境,为深入理解中国古典剧场“观演一体”的美学特质提供了最为直接的文本依据。

[本文为中国博士后科学基金第76批面上资助项目“明代戏曲中‘插演’资料整理与研究”(2024M760236)的阶段性成果]

作者单位:北京师范大学京师书院

参考文献:

[1]郑劭荣将“插演”分为两类:“一为戏剧类的表演伎艺,最常见的是‘插科打诨’,或者夹杂其他戏剧样式的表演,戏中有‘戏’;二为非戏剧类的表演技艺,诸如说唱、杂耍、歌舞等。”参见郑劭荣:《中国传统戏曲口头剧本研究》,北京:光明日报出版社,2015年,第75页。

[2]相关研究有:刘晓明:《论古代戏曲中的插演——兼释“打咤”与“吊场”》,《戏剧艺术》,2005年第3期;谢美婷:《中国戏曲的插演艺术》,广州大学硕士学位论文,2011年。

[3]参见江巨荣:《宋金杂剧在南戏和明传奇中的遗存》,《美术教育研究》,2010年第4期;黎国韬:《明“教坊编演”杂剧中的院本插演》,《文学遗产》,2018年第5期。

[4]参见王一任:《明杂剧中的筵宴演出研究》,北京师范大学硕士学位论文,2016年;徐畅:《论明传奇中的“插演”》,北京师范大学硕士学位论文,2021年;武昭君、徐瑞:《明代文人传奇插演现象研究——以〈六十种曲〉为中心》,《四川戏剧》,2024年第10期。

[5]本文所引用剧本,除注明外,皆出自《古本戏曲丛刊》,见古本戏曲丛刊编委会辑:《古本戏曲丛刊》初集,上海:商务印书馆,1954年;《古本戏曲丛刊》二集,上海:商务印书馆,1955年;《古本戏曲丛刊》三集,北京:文学古籍刊行社,1957年;《古本戏曲丛刊》五集,上海:上海古籍出版社,1985年。

[6]张燕瑾、张人和、汪龙麟编:《会校会注会评会图西厢记》,北京:学苑出版社,2020年,第550页。

[7][荷兰]伊维德、宋耕:《我们读到的是“元”杂剧吗——杂剧在明代宫廷的嬗变》,《文艺研究》,2001年第3期。

[8]黎国韬:《明“教坊编演”杂剧中的院本插演》,《文学遗产》,2018年第5期。

[9][明]朱权:《冲漠子独步大罗天》,《孤本元明杂剧》(上海涵芬楼辑刊本),上海: 商务印书馆,1941年,第96页。

[10][明]徐渭:《狂鼓史渔阳三弄》,《徐渭集》,北京:中华书局,1983年,第1180—1181页。

[11][明]吴炳:《绿牡丹》(北京图书馆藏明末刊本),《古本戏曲丛刊》三集第6册,北京:国家图书馆出版社,2016年,第391页。

[12]学界有关《长生殿》《桃花扇》二剧中“插演”的论述极多,较有代表性的有:Wai-yee Li, “The Representation of History in The Peach Blossom Fan,” Journal of the American Oriental Society 115, no.3 (1995): 421-433;盛亦惠: 《〈霓裳羽衣舞〉在明清戏曲中的“缥缈仙体”与“风流肉身”》,《北京舞蹈学院学报》,2023年第6期。

[13][明]朱京藩:《风流院》(北京图书馆藏德聚堂刊本),《古本戏曲丛刊》二集第24册,北京:国家图书馆出版社,2016年,第457—458页。

[14][明]孙钟龄:《东郭记》(长乐郑氏藏明末刊本),《古本戏曲丛刊》二集第27册,第52—53页。

[15][明]汤显祖:《紫箫记》,《汤显祖全集》,北京:北京古籍出版社,1998年,第1736—1737页。

[16][明]汤显祖:《答孙俟居》,《汤显祖全集》,第1392页。

[17][明]袁于令: 《西楼梦》(上海历史文献图书馆藏剑啸阁刊本),《古本戏曲丛刊》二集第34册,第373页。

[18][明]袁于令:《西楼梦》(上海历史文献图书馆藏剑啸阁刊本),《古本戏曲丛刊》二集第34册,第375页。

[19][明]王元寿:《金钿盒》(北京图书馆藏明末刊本),《古本戏曲丛刊》二集第37册,第325—327页。

[20][明]汤显祖:《邯郸梦记》,《汤显祖全集》,第2486页。

[21][明]汤显祖:《牡丹亭》,《汤显祖全集》,第2095页。

[22][明]梅鼎祚:《长命缕》,[明]梅鼎祚撰,侯荣川、陆林校点:《梅鼎祚戏曲集》,合肥:黄山书社,2016年,第340—341页。

[23][明]梅鼎祚:《章台柳玉合记》,[明] 梅鼎祚撰,侯荣川、陆林校点:《梅鼎祚戏曲集》,第112页。

[24][明]兰陵笑笑生:《金瓶梅词话》,陶慕宁校注,宁宗一审定,北京:人民文学出版社,2000年,第894页。

[25][明]兰陵笑笑生:《金瓶梅词话》,陶慕宁校注,宁宗一审定,第897—898页。

[26][清]汪琬著,[清]宋荦等编:《国朝三家文钞·汪钝翁文钞》,清康熙三十三年(1694)刻本。

[27]“感知共同体”是法国理论家朗西埃(Jacques Rancière)提出的政治与美学理论框架,是“为一种能将不同事物或不同实践置于同一意义之下的可见性与可理解性的框架,由此形构出一定的共同体的感知。一个感觉的共同体是对将不同的实践、可见性形式及可理解性模式连接在一起的空间与时间的切割”。在剧场理论中,“感知共同体”意味着舞台表演“不是通过景观式的呈现对被视为统一体的观众进行整体包围,以期让台下等量且均质地追随并执行台上的感觉分配计划”,而应该是要激发、鼓励并且接受观众的审美表达。参见[法] 雅克·朗西埃:《当代艺术与美学的政治》,谢卓婷译,《马克思主义美学研究》第18卷第2期,北京:中央编译出版社,2016年,第19—40、427页。

《戏剧艺术》,上海戏剧学院学报,创刊于1978年。全国中文核心期刊、中文社会科学引文索引(CSSCI)来源期刊、中国学术期刊综合评价数据库来源期刊、国家哲学社会科学学术期刊数据库来源期刊。以繁荣戏剧研究,推进戏剧教育事业为己任,坚持古今中外兼容、场上案头并重,关注戏剧热点问题、鼓励理论创新,力推新人新作,曾以发起“戏剧观”大讨论为学界所瞩目,又以系统译介国外当代戏剧思潮、及时发表戏剧学最新优质研究成果为学林所推重,是国内最重要的戏剧学学术期刊之一,在戏剧研究界享有盛誉。

稿

《戏剧艺术》是一份建立在同行专家匿名评审制基础上的学术期刊。本刊欢迎戏剧理论、批评及相关问题研究的来稿。内容希望有新材料、新观点、新视角,尤其期盼关注当前戏剧实践、学理性强的力作。来稿篇幅在万字左右为宜,力求杜绝种种学术不端现象,务请作者文责自负。所有来稿请参照以下约定,如您稍加注意,则可减轻日后编辑的工作量,亦可避免稿件在编辑与作者之间的反复修改,本刊编辑部工作人员将不胜感激。

本刊实行在线投稿。在线投稿网址:

http://cbqk.sta.edu.cn 系本刊唯一投稿通道。

需要特别提醒的是:本刊不接受批量投稿(半年内投稿数量大于1则视为批量投稿),更不可以一稿多投。

本刊审稿时间为3-6月,审稿流程含一审、二审、三审、外审等,最终结果有退稿、录用两种情况,其他皆可理解为正在审理中,敬请耐心等候。如有疑问,可致函杂志公邮theatrearts@163.com,编辑部将在7个工作日内予以回复。

本刊从未以任何形式、任何理由向作者索取版面费、审稿费等费用,若发现类似信息,可视为诈骗行为。本刊已许可中国知网等网站或数据库以数字化方式复制、汇编、发行、传播本刊全文。本刊支付的稿酬已包含相关机构著作权使用费,所有署名作者向本刊提交文章发表之行为视为同意上述声明。如有异议,请在投稿时说明,本刊将按作者说明处理。

附:《戏剧艺术》稿件格式规范

1.作者简介:姓名及二级工作单位(如,夏晓虹:北京大学中文系)。

2.基金项目:含来源、名称及批准号或项目编号。

3.内容摘要:直接摘录文章中核心语句写成,具有独立性和自足性,篇幅为200-300字。

4.关键词:选取3-5个反映文章最主要内容的术语。

5.注释和参考文献:均采用页下注,每页重新编号。格式如下(参考2020年以来我刊)

(1)注号:用“①、②、③······”。

(2)注项(下列各类参考文献的所有注项不可缺省,请注意各注项后的标点符号不要用错):

 ① [专著]主要责任者:文献题名,出版地:出版者,出版年,页码。

 ② [期刊文章]主要责任者:文献题名,刊名,****年第*期。

 ③ [论文集中的析出文献]析出文献主要责任者:析出文献题名,论文集主要责任者:论文集题名,出版地:出版者,出版年,页码。

 ④ [报纸文章]主要责任者:文献题名,报纸名,出版日期。

 ⑤ [学位论文] 主要责任者:文献题名,学校、科研机构博士学位论文,答辩年份,页码。

 ⑥ [外文版著作、期刊、论文集、报纸等]采用芝加哥格式。作者名首字母大写。书名、刊名用斜体。同一页中的英文注释若与上一个出处相同,采用Ibid.的写法。若在不同页,英文注释的所有注项,包括出版地、出版社、出版时间均不省略。芝加哥格式的范例如下:

有两位作者的著作

Scott Lash and John Urry, Economies of Signs & Space (London: Sage Publications, 1994), 241-251.

有作者、译者的著作

Julio Cortázar, Hopscotch, trans. Gregory Rabassa (New York: Pantheon Books, 1966), 165.

有作者、编者的著作

Edward B. Tylor, Researches into the Early Development of Mankind and the Development of Civilization, ed. Paul Bohannan (Chicago: University of Chicago Press, 1964), 194.

论文集中的析出文献

Muriel Harris, “Talk to Me: Engaging Reluctant Writers,” in A Tutor's Guide: Helping Writers One to One, ed. Ben Rafoth (New Hampshire: Heinemann, 2000), 24-34.   

期刊

Susan Peck MacDonald, “The Erasure of Language,” College Composition and Communication 58, no. 4 (2007): 619.

报纸

Nisha Deo, “Visiting Professor Lectures on Photographer,” Exponent, Feb. 13, 2009.

网络资源

Richard  Kimberly  Heck,“About  the  Philosophical Gourmet Report,” August 5, 2016,http://rgheck.frege.org/philosophy/aboutpgr.php.

学位论文

Tara Hostetler, “Bodies at War: Bacteriology and the Carrier Narratives of ‘Typhoid Mary’ ” (PhD diss., Florida State University, 2007), 15-16.

6.正文中首次出现的新的外来名词和术语、新的作家作品名和人名请附英文原文,并用括号括起。

- 扫码关注我们 -

       制作|陈婧

       责编|黄静枫

       编审|陈军

最新文章

随机文章

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