当前位置:首页>戏曲>姜岩 | “整理国剧”与中国现代戏曲史学的革新

姜岩 | “整理国剧”与中国现代戏曲史学的革新

  • 2026-05-10 23:06:16
姜岩 | “整理国剧”与中国现代戏曲史学的革新

“整理国剧”与中国现代戏曲史学的革新

姜岩

内容提要 20世纪30年代兴起的“整理国剧”思潮,直接继承“国剧运动”遗产,确指“国剧”为京剧并参透其传神写意的艺术特质,又接续清末戏曲改良运动的未竟事业,“整理”携带着“改良”的视野,相关实践便从现实出发,探询、整合并重构历史,是对中国现代戏曲史学的革新。这表现在发生原理、通史建构和史学理论三方面,又分别在齐如山、徐慕云、王泊生的“国剧”观念与实践中有所体现。重述这段历史,重启复杂斑驳的戏曲史学形态,我们也会看到危机时刻之戏曲、戏曲学人更为生动且能动的面相。

关键词 “整理国剧”;史学形态;中国现代戏曲史学

一 从概念史到史学史:“整理国剧”再认识

“整理国剧”在戏曲概念史上占据一席之地。近年来,学界尤为注意“戏曲”这一习焉不察的概念在20世纪初期的内涵分化、用法更易与能指推衍,并认为其作为时人戏曲观的生动体现,是“戏曲现代化”课题的组成部分。高子文指出,青木正儿改变了王国维确立的戏曲文学本位后,“戏曲”概念随之转向“剧场艺术自觉”,石良注意到同步发生的戏曲称谓变迁,最典型的是对标西方演剧艺术的“国剧”命名。后来他进一步考证,“国剧”称谓的出现,远早于为学界熟知的“国剧运动”,而来自日语,后经音乐理论家王光祈推而广之。王氏起初重视的只是“国乐”建设,提出“整理古代音乐”,而戏曲作为特殊的音乐形态,自在“整理”之列,“国剧”便在本体构造的意义上与“国乐”相提并论。由此,“整理国剧”是重探“国剧”概念源流的关键史料,从中亦可看到舶来概念通过重启传统资源完成本土化转型的路径,这也是“国剧运动”冷却后“国剧”依然坚挺的内在原因。

尽管“整理国剧”在“国剧”的概念流变过程中起到了重要作用,但是只看联系不重区别,会导致一个后果:前者极易被化约其中,成为“国剧”建设的题中之义,进而变得不言自明。例如,杜海军在梳理民国戏曲史学史时,将齐如山“整理国剧”的工作视为“独具特色的戏曲文献整理、非物质文化遗产整理”,形成对“整理国剧”的字面理解与庸俗阐释,完全忽视齐氏这一主张的历史脉络及对话关系。而“整理国剧”的随意比附也导致其一直处在知名度高、透明度低的境地。李春阳指出,“齐如山的‘整理国剧’与胡适提倡的‘整理国故’,一字之差,其实是一回事”,是否如此暂且不论,这一并置认知在一定程度上忽略了前者可能具备的戏曲本体价值——如同“国剧”在“国故”之外的戏曲观念革新内涵,自身的思想容量因而被忽略,甚至被改写。为此需将概念史的对象从“戏曲”切换到“整理国剧”,这也是戏曲概念史研究深化的重要标志。

“整理国剧”之“整理”大有来历,那就是与其一字之差的“整理国故”,可以将后者理解为前者的思想背景和方法示范。事实上,“整理国故”辐射范围甚广,“国剧”已在其中:“至民十之际,在北平主办京园,其时凡百旧艺已入于科学整理之途”,但远未深入肌理,“整理国剧”作为整体性话语自有发展脉络,其之于“整理国故”当为“借势”,不宜强行建立关联。据笔者考证,1926年,戏曲批评家佟晶心最早有详尽论述:

本国人的戏,须有本国原有的色彩……并不是外国试验未必合宜,硬放在中国人的精神里面……整理国剧,创造新话剧,乐剧吗?用提琴代替胡琴吗?且试试看。

概而言之,一方面注重“本国原有”的收集与改良,另一方面也不排斥“外国试验”的强力侵入,“创造”全新的艺术形式。有必要指出的是,此处还有一个潜在的对话对象:余上沅发起的“国剧运动”。在余氏看来,“国剧”是“由中国人用中国材料去演给中国人看的中国戏”,与“本国人的戏”相类,表明尚在建设的、具有知识分子理想气质的中国戏剧形态,为此,要对历史中的“国剧”进行必要的“整理”工作,然后参照“外国已有的成绩”进行全方位的改造。可以看到,两人的思路完全一致,只是对“整理”的理解稍有差异:余氏所谓“整理”是佟氏“整理”内容的分支,后者另有其后的“创造”任务。“整理国剧”即是佟氏参透“国剧运动”之本质的话语实践,也是终结此前戏曲改良运动纷杂状态、启动“运动”新方式的重要契机。

尽管“国剧运动”不免失败,但留下一笔不小的遗产,那就是对“国剧”概念的模糊处理,“给后来者提供了空间”。20世纪30年代,“国剧”等同于京剧成为共识,“整理国剧”直接应对的是战争动乱下戏曲的民众动员需要与传统戏曲的国际地位骤升的双重现实。如果说陈吻冰提出的创作新剧本、修改剧情、表演求真美化等还相对笼统,伯龙对“八大伦理剧”的连载又过于仓促,那么,徐筱汀则清晰说明了一种“整理国剧方案”:

以今世对于各戏享名的演员,作为标准……一则可使今后排演各戏的演员,有所借镜,二则可以对证前后演员的异同和变化,藉考察国剧演变的途径而明人心之趋势。

作为“整理国剧”的阶段性总结,这份方案敏锐感知到知识界之外名演员的能动性,所谓“注释”就从书本流转到身体,又能惠及后辈伶工,由此引出“整理国剧”的“概念”之外的实践取向。以梅兰芳为例,1930年访美回国后,他立即组建“国剧学会”,主要受到美洲戏曲协会的启发而“觉得有努力整理国剧的必要,所以有这种小规模的集合”,亲自为“整理国剧”筑起专业壁垒和发展样板。梅氏另主持“国剧传习所”,同人更是主张“不仅当搜集与整理各种各样的剧本,同时应该搜集与整理各种各样的技术,不仅是搜集与整理之后应该创造剧本,同时还要创造各种的技术”,这在知识界无论如何也做不到,即使在剧界内部也未必是能公开宣讲的主张和实践。而当“谨严整理之责任,愈在我剧界同人”的呼声愈演愈烈时,如何整合戏曲界资源以扩大“运动”影响力成为迫在眉睫的问题,这是徐氏的思想核心,更重要的是他还预见“整理国剧”跨界融合后的新使命:“考察国剧演变”。

事实上,荣慧清对佟晶心著述的评价即是“中国从来没有一本完全戏曲史,这本书考证甚多,虽然关乎改造中国戏曲方法,甚为留意。要从历史方面设想,并不失掉他的价值”,表明“整理国剧”从一开始就包含戏曲史学的维度,并且在“完全戏曲史”之外形塑拓新的可能。由此,我们在概念史的长河中打捞起“整理国剧”本身——考察其从号召到“运动”的展开过程及其对戏曲本体之建构——的同时,也要注意作为“潜流”的史学史。本文选择齐如山、徐慕云、王泊生三家,系统考察“整理国剧”如何在个人生命经历的必然、戏曲学术的民间崛起、“复古”氛围的同时代感召之下,推动“史学转向”并创造出新的戏曲史学形态,在校正当前戏曲史学史通行的“模式说”的同时,提出“中国现代戏曲史学”的分析框架,可使更多如“整理国剧”般深藏历史地表的边缘文本重新得到读解,还原别具一格的戏曲历史和生气淋漓的戏曲史学。

二 齐如山:“整理国剧”与戏曲发生原理的探询

1932年冬,梅兰芳举家南下,齐如山选择留在北平,临别之际,齐对梅说:“这几年来,凡改良的戏都是毁坏旧戏,因为他们都不懂国剧的原理……我这二十多年所做的事情……大大的部分都是为你。我自己的工作,只有随时地请教请教大家,仿佛新闻记者采访新闻,我问来的材料,大部分还没有整理,你离开北平后,我便有时间做我自己的工作。”表面看来这只是一段“整理材料时期”,实际借此机会阐扬“国剧原理”的愿望急切,那么“整理”必定与“改良”互为表里,仍不脱彼时“整理国剧”的一般倾向。不过,相较此前单一的“曲本整理”已经有所改观。自1933年起,齐如山先后对“国剧”中的表情、身段、脸谱等进行“整理”工作,实践着“国剧”的综合艺术观。

这一观念投射在其主办的《国剧画报》上,是从私藏秘本向“国剧原理”的重心转移。在《论国剧中之“笑”》中,齐如山就针对不同行当将“笑”分为十五种,背后是对“国剧演法,最忌写实,须处处用美术化之方式来表现”的看重;再如身段,齐氏坦言:“动作欲避免写实,本极难之事,而戏中规矩,则随处有其极美表现法。其法为何?即处处用曲线方式是也。余对于戏中动作之原理,研讨三十余年,始克得此线索。”接下来才以“上场”“挖门”“指示”等动作举例论证。如此“整理”不仅使“国剧”批评有规律可循,“以此原则衡论戏中动作之是非,判别各脚身段之美恶”,从而规范戏曲生态,而且具有现实指导意义。1933年8月,齐如山致信来平演剧的易俗社同仁,详细解释自己为何严厉禁止他们“歇工”,而这封信更重要的价值在于,它不期然呈现了齐如山引以为傲的“国剧原理”的另外版本,也记录其“整理国剧”转向前后的思想轨迹。在“说白”“歌唱”“传神”方面,齐氏的“道理(原理)”如出一辙,而关于“动作”却有不同的发挥:

这种动作,就是古人舞的原理……乐记上说:歌,咏其言也;舞,动其容也……国剧完全来源于古舞,所以身体非有动作不可。

不难看出,这一“原理”溢出“研讨三十余年”的经验,又并非“采访新闻”所得,而来自“古书”,表明一种新方法的展开。在齐如山这里,“方法”是十分考究的,所谓“用话剧科学的方法来整理国剧”,重点不在“话剧”,而在“科学”,台静农后来有很好的概括:“如山先生所用的方法,全靠访问老脚,然后归纳整理,得一结论。有如科学家,亲身采辑,然后分析实验”,大体不错,只是多年后齐氏才道出个中艰难。一方面,“采访”的对象“倘不知其原理,没有理论,则于我是毫无益处的”,另一方面知者愈少,那么在“把以往请教来的先整理出来”后,该从何处“再有所得”?这里须提及他“古舞”的研究经历。早在专为梅兰芳赴美写就的《中国剧之组织》中即有“动作即古之舞”,不过仅此一句,而在其后的《国剧身段谱》中,首章即是《论戏剧来源于古之歌舞》,“为叙述戏剧与古舞递嬗之情形”,但是鉴于“照这本书的写法去表演”的实用考量,也对萧长华、梅兰芳、余叔岩、王瑶卿诸君“热心相告”有所交待,原本呼之欲出的“原理”被大量表演术语稀释,本质来说,这是“方法”一仍其旧的结果。而当自京剧“整理”而来的“原理”要尝试指导秦腔艺人时,必须扩展自身的历史容量,变“递嬗”为“来源”,在自成体系的戏曲发生学说之中诠释一种更具原理性的“国剧原理”。与此同时,“整理国剧”也从拾人牙慧式的机械“整理”演进为以文史知识为基础的探询。

不过,《国剧画报》随后停刊,相关讨论戛然而止。1935年,齐如山重振旗鼓,在《大公报》上开辟“剧坛”专栏,“以推阐国剧学理整理国剧文献为职旨,兼行答复国剧之问题……作扩大国剧运动之先声”,相较“原理”,“学理”更加依靠考证与思辨。在《故都百戏》中,他集中处理傀儡戏、影戏等15种“来源颇古”“仍未失传”的戏曲类型,一一介绍其兴衰演变、地理分布、发展现状,在此基础上,正式提出“现在风行全国的皮黄,是由陕西影戏来的”,进一步划分了两个时期:“小唱”期包含一人独唱时代、几人分唱时代、稍加动作时代;“戏剧”期则包括扮演时代、写实时代、美术化的时代,而在第三阶段中,齐氏强调,“各种的事情都有了规定……不但动作不许写实,就是表情也不许像真”,形成著名的“无声不歌,无动不舞”的论断,这正是屡次强调又不得要领的“国剧原理”之核心。质言之,有“源”的戏曲历史被有机结构在“原理”中,相应地,“发生原理”也成为“整理国剧”所得的独特史学形态,具有追踪现实的史学品格。实际上,齐如山的西北致信亦非偶然,《中国戏剧源自西北》就体现他“到西北去”的社会关切:

若想考究以前的法则,当然应该追本寻源,由西安秦腔入手,所以说是:国人若想研究戏剧,非到西北去不可。世界人想研究中国戏剧,非到西北去不可。

“整理国剧”从“古舞”“古戏”进一步延展至“古地”,既与个人最初的“考古学”设想遥相呼应,又转化为真切的行动,称其为“运动”的机制未免夸张,但在齐如山这里却如鱼得水般建立起来。

三 徐慕云:“整理国剧”与戏曲通史写作

在此背景下,中国戏曲的治史正统也受到一定冲击,最直接的表现是被迫接纳戏曲通史。关于戏曲通史,表面上看,其由通常意义上的专门史、断代史扩充篇幅、时段或对象而来,实际却有着完全不同的撰述目的和应用范畴,“提倡戏剧者、利用戏剧者,有所准绳、有所取法”,反而与“整理国剧”同构,可视为“史学转向”的组成部分。这里要提及“首倡”者徐慕云,他的史学实践也最能揭示这一过程的复杂性。

1933年,美国芝加哥举办第一届有主题的世界博览会,国民政府在正式接受邀请后,迅速组建筹备委员会,作为其中一员,徐慕云在其所著《梨园影事》的基础上,“增加材料,翻译西文,精印五彩脸谱,详考历代剧史……不特予吾国研究戏剧者以种种便利,即欧美人士亦可由此而得略窥中剧之门径”,出版后却未能送展。两年后,他回顾这段往事,补充一则重要信息:“当我听了莱君的谈话时,我很觉惭愧,我觉得中国人的文化事业,应当自己去作,为什么偏要仰赖他人呢,因此我才决意自编《梨园影事》一书。”可见该作修订并非应付了事,“欧美人士”也另有所指,是一位名叫“莱维思”的犹太音乐家,彼时正要出版《中国音韵四声》,“预料数千部书,不难销售一空”,并且提议“合编中剧史一书”,设想“尽以中剧奥窍,完全译成西文,附以图说剧照,及彩色脸谱”,徐氏欣然同意。某种程度上说,特别增补的《三千年中国戏剧变迁史》(以下简称《变迁史》)是一种因应方式。可惜这一计划同样流产。不过由此观之,徐氏以“中剧史”对标海外“国剧”研究的愿望,远远早于他在戏剧会议上提案通过的时刻。

1935年,真正意义上的“中剧史”《中国戏剧》横空出世,果然由国外人士抢先,作者阿灵顿“把他历年所观中国戏剧的感想,和内容的组织,角色,乐具,服装,兵器等等的名称,以及中剧的简单历史,都用英文写了出来”。徐慕云前去拜访,又得知该书“出版未及一年,就售卖一空……明岁还预备增加材料,再印一两千部”。反观自己的《梨园影事》深陷劳资纠纷,且匆匆付印、材料不足,不免浩叹“若大中国,犹不能自著剧史”。一方面是图书市场空缺与彼邦文化需要,另一方面是本国人士,尤其是曾在“沟通中西文化的工作上,也算保留着一些相当的成绩”的名伶拒不作为:

梅兰芳程砚秋……简直毫无一点整理国剧的表现,不特国家公帑虚掷于无形,恐怕还引起了西人对于中剧许多的误解。

这一批评不合事实。梅兰芳暂且不论,程砚秋在旅欧考察期间寄回国内大量图像资料,回国后还撰写《赴欧考察戏曲音乐报告书》(1933),在比较中提出中国戏剧改革的具体举措。徐氏并非不知道,只是在他看来,这不能称为“整理国剧”,因为“误解”依然存在,当务之急是对西方正关注的“中剧史”接着讲,在正本清源的过程中赢得话语权和主体性。那么,“整理国剧”的首要目的即是走出“皮黄剧,即可概括中国一切戏剧,梅兰芳亦堪代表中国一般优伶”的认知误区,从而给予这一“运动”以新的理解:“国剧之名称,实即皮黄假借政治势力所攘夺而来”,相应地,“整理国剧”除要直面剧本、伶人、学校的相关问题,还“必须实地分赴各省市,调查各类土戏之实况……较其优劣异同,判其俗雅精粗,以定取舍汰存之则,而编著一种有条理有系统之中国剧史”。这一构想于1938年真正实现,题名《中国戏剧史》。颇可玩味的是,《变迁史》的开头也是“中国在三千年前已有戏剧,其历史虽若是悠久,但迄今仍无一有系统有条理之记载”,以之为参照,或许可以看到有着相同写作期待,甚至分享相同他者焦虑的两版“中剧史”,如何在“整理国剧”这一变量的影响下呈现不同的面貌,进一步揭示戏曲通史的史学特征。

《变迁史》虽只有千余言的提纲,但是与全书保持互文关系,况且写作框架十分清晰。徐氏先是借鉴齐如山的说法,将“中国戏剧之来原”归于傩典(歌舞),自周而下,每一朝代用粗黑字体标识清楚,下列与戏曲相关的事件条目,以清代最为详细,不过也按照时间顺序一线贯穿;而《中国戏剧史》共分五卷,只有第一卷采用编年体的形式,其余各卷涉及剧种、角色、场面、后台、戏装、脸谱、理论与批评的各个方面,明显受到《中国戏剧》的影响;不过徐慕云深知阿氏的文化隔阂,“略悉中剧皮毛者,竟亦敢为我国人捉刀”,对于其中“谬误百出、略而不详”之处,一方面补充历代礼节、服饰、风俗、习尚以及语言、文字、音乐、美术等“艰深之学”,特别表示“本书于史地艺术礼制诸节,叙述尤不厌其详”;另一方面参考“博物院与图书馆存藏宋元曲本,戏剧档案,及其他关于戏剧之珍品什物”,收录大量彩色脸谱、剧照,形成文物与文本相互参证的著述策略。就此而论,《中国戏剧史》利用已被验证的西人易于接受的模式,吸收“整理国剧”之所得,重新诠释理想的“中剧史”,此为戏曲通史的核心内涵;相比之下,《变迁史》徒具戏曲通史之形,实则沿袭一般戏曲史的写作思路,似新实旧,不过二者在实际演进的过程中难于区分,戏曲通史便以形式更新的方式从内部爆破戏曲史学的“现代”体制,这是后话。

如对作为戏曲通史的《中国戏剧史》之“通”的含义作进一步读解,不难发现,其“通”为全、为广、为多,更重要的是,为均。黄静枫对比该著古今部分约4:1的篇幅比例,尝试概括为“略古详今” ,这是站在“古”之立场使然。实际上,徐慕云的可贵之处恰在同时观照古今,由此在自我与他者、远方与近端、文本与现实之间建立内在关联,反而是更高层面上的均衡叙事,这也是“整理国剧”赋予的史学品格之所在。

四 王泊生:“整理国剧”与“新歌剧”理论建构

如果说齐如山、徐慕云的“整理国剧”所呈现的是私人化的问题场域与史学图景,那么,能否组织起一种整体性的内生力量推动这种“后转”,形成并共享关于戏曲历史的新的观念?这要从具有原点性质的“国剧运动”说起。如前所述,发起者余上沅并不排斥旧剧,“整理”工作甚至启发佟晶心的话语重构,实际上他还在其主事的北京国立艺术专门学校戏剧系增设“十几个钟的旧剧的台步和唱工”,不过此事引起很多学生不满,系主任赵太侔没有及时消除“派别之见”,加之“三·一八惨案”的波及,余、赵二人相继南下,宣告了这一实验的终结。其中主张保留,且一开始就“供献出具体的意见”的,是王泊生。不久他也脱离艺专,“要求一个较为扩大的剧运” 。关于王泊生,伴随近年“新歌剧”研究的兴起,其人其事受到关注,却往往忽略一个基本事实:“我想创作新歌剧之决定,由彻底整理国剧入手。”1934年执掌山东省立剧院之初,王泊生还提出“整理国剧,创造新中国的戏剧”,可见“新歌剧”自有系统的工作准备,而在具体形态之外,显然还孕育着总体性的门类规划,“整理国剧”的特殊性就不仅作为重勘自家“新歌剧”进而与学界对话的入口,还代表同时代相关实践起点、方式、成果等各种意义上的最高成就。

王泊生重新界定了“整理国剧”。在他看来,问题不在于京剧等同于“国剧”,而是京剧不能代表中国戏剧最核心的特征,其在因袭技术的过程中丢失“原始设施的血脉”,但相对来说观众多、辐射广,因此“整理国剧”“拿它入手,不应当止于皮黄……必须广事搜寻,在另外许多不同派别的戏剧里,然后才能找到中国戏剧的根底”,与“整理旧剧”通用。与其说是另立新说,不如说是在齐如山、徐慕云基础上的辩证综合,这种综合性还表现在其对戏曲历史的结构方式上。从定义也可看出,王氏“整理国剧”本身包含“考古”因素,向“古”一脉游走成为必然,回落到人生经历上,恰巧是南下游历的三年时间。据他回忆,在上海、安庆边看边学昆曲和徽戏,而在汉口就有自觉的研究意识,“每出戏都发生一个京徽汉昆的比较”,从而“同历史的先后已可以看到一个梗概”。1932年载誉归平,在接受专访时进一步提出,“须综合中国各地固有种种戏剧之原理与根据,研究而出”。值得注意的是,此时他并不认为这一工作能与其颇为推崇的“新歌剧”发生联系,只是后者“尚未产生”的权宜之计,艺术亲缘性远不及话剧,总体来说“三者各为一种之艺术,俱应切实各谋进展”。同年受聘中华戏曲音乐院北平分院研究所,因撰稿不及时,将妻子亦是同学的吴瑞燕早年写的《国剧之将来》递交上去,另附批语:“我觉得瑞燕的主张,似乎太狭义了。旧的充实是我们的责任,发展新的我们也不妨彻底通盘筹划一下。新的,旧的,歌的,舞的,形象的,……一切都要。”这样激进的想法付诸实践会陷入王氏极力避免的“空中楼阁”,《荆轲》即面临抄袭指控,随后他改换思路,“与其草率的在目前去创新歌剧,实不如先把这项工作整理清楚”。

1933年起,王泊生发表了“国剧理论”的系列文章,与此前抽象地讲授“戏剧原理”不同,即便聚焦在化装,也要兼及动作、后台,说明其共同基于“民众的戏剧为民众而演的,不是为贵族阶级演的;是为生活的有问题而产生”的历史条件,进一步来说,“国剧理论”正要在“历年在蹂躏着紊乱不堪无人过问的民众剧戏”中产生,为此“必须从寻求已往的真实民间戏剧入手”,“新歌剧”自可水到渠成。事实上,这也是山东省立剧院的组织逻辑:专设与“新歌剧系”并列的“国剧系”,又成立“理论组”,目的是“以艺术的原理,理解国剧的有机组织。以科学的方法,分析各派戏剧的演变。研究该剧与当时社会相互之关系”,从而“整理旧剧,对于未来新歌剧也是绝对需要”,由此可见,王氏在建设“理论”的过程中逐步形成针对戏剧起源的唯物史观,更重要的是,“我们寻出他的理论,我们建设起他自身的理论,这些便是我们对过去的剧艺,可能寻到的部分。而这些部分却正是我们建立现代剧艺的方法学习的重要根源”,“新歌剧”本身也成为了新的“理论”,表征整合了戏曲起源之后有关戏曲演进之规律的总结,这一“理论”进一步发展为:

中国戏剧的演变影响到中国历代政治盛衰……戏剧历来都站在创造人民意志的超越地位的,在他的本质上说,必须有节奏有韵律,形之于文字时便是剧诗,形之于动作便是舞,形之于声音便是乐,诗歌乐舞综合的有机组织才是戏剧的本身。

此文随后整理发表在《舞台艺术》创刊号上,王泊生特附按语:“中国戏剧的有机组织的健全,不但它能有左右社会的功能;并且已竟形成了一种独立的机体,戏剧艺术最高的理论……至于新歌剧的创造,也是想从原则一方面再进一步的发阐这种理论。”对读两处表述不难发现,作为“理论”的“新歌剧”使“戏剧的本身”/“原则”真正显影,又能看清戏曲背后的社会结构,赋予戏曲以积极的社会意识,如“站在民族革命的绝对立场上的秦腔”,这种观照戏曲历史的新视角甚至能将中国历史内嵌其中,如此,作为艺术形式的“新歌剧”才能肩负时代使命,即在生死存亡的时刻“建设新的民族精神”。

五 中国现代戏曲史学如何“现代”?

从齐、徐、王出发,如果不停留在“整理国剧”的转向机制,而对转向后的多元史学形态加以“整理”,我们可以在更长远的历史脉络中构建发生原理、通史建构、史学理论三位一体的“中国现代戏曲史学”,而在此之前要厘清“现代”的多个层次及其内部关系。

中国戏曲史学一开始就是“现代”的,不仅表现在时段上——古典戏曲理论与批评几乎没有涉及系统的“史”的认识和把握,还与中国学术的古今转轨密切相关。王国维《宋元戏曲考》的学术贡献无需赘述,尤要注意的是其使戏曲史著构成戏曲史学的全部内容,并确立基本规范,直至20世纪30年代,业已形成可观的学术承传和清晰的“路向”分殊。不过,这也产生新的问题。郑震在编译青木正儿《中国近世戏曲史》时直言“不译录冗长的无谓的考证材料”,后来署名檠的作者也批评道:“这部书只可说是一部中国戏曲史料的汇刊……只于满纸上拥挤着许多引证来的文字而已。”后起的卢前是吴梅先生高足,其《中国戏剧概论》也难逃“材料”的掣肘,马彦祥认为“其中材料不过是些别的书中的复述”,卢氏也承认:“这四大段落,要使他如何‘一串’的叙述下来,尚有待于史料的发现。”面对这些问题,焦菊隐有一系统批评:

作家对于此一学术倘没有彻底的认识,又没有一个理论来作骨髓,这一部著作至多是一部史料而不是历史……王静安以下的作品,可以武断地统称之为史料。

矛头直指王国维及其开启的“史料”研究传统。在焦氏看来,“编制”和“介绍”是作家在充分认识研究对象的基础上,综合考虑读者期待视野和研究者检阅诉求的结果,没有这一写作灵性,就只是“叙述事实”而已,这正是“史料”和“历史”的区别。对于戏剧史而言则更复杂,一方面要培养唯物史观,另一方面对“中国戏剧构成的特质”也要有独到的理解。随后,他提出了“自己认为满意的《中国戏剧史》”,思路是“不能偏重文学,更须考究其演出的方法”,设想六卷,并译法文。但他毕竟没能写出来——摆脱“史料”而以“理论”代之的“历史”又无从下笔,体现现代戏曲史学的结构性困境。

问题不在于“史料”的有无、多寡、真假及其处理方式,而在其先天确立的史学形态。换言之,“史料”作为一种“现代”产物,代表史著中心的史学观,为戏曲所征用,形成了戏曲史中心的戏曲史学观。这一观念将文学史、曲学史、剧场/表演史的写作方法简单平移到中国戏曲,或以集聚汇总的方式生产践行戏曲“综合”本质的戏曲史,无论如何,都是对“史学本位”的精准演绎,在方法的新意冷却后,难免走向“模式化”的道路,甚而平庸的自我复制。因此,革新“中国现代戏曲史学”,关键是在此基础上重建一种“剧学本位”。“整理国剧”正是从对戏曲本质的全新读解起步,而戏曲历史只作为随时调用的资源。兹以前述三家而言,齐如山之“整理国剧”源于个人“整理”的自觉,“我搜求关于国剧的材料,不是自创设国剧学会始,而是在宣统末年、民国初年,就已经起手工作了”,期间对“国剧原理”也有认识,但还不成体系,在回溯戏曲历史,尤其是戏曲起源的过程中成型,这一“原理”也配合国人对边疆的再认识,化为集体的行动;徐慕云之“整理国剧”是其编纂“中剧史”的必要准备,作为一种破除“京剧中心主义、名伶中心主义、国际霸权主义”的观念演绎,“整理国剧”即为《中国戏剧史》注入“通史”之“通”的精神内核;王泊生之“整理国剧”是创造“新歌剧”的中介,在以唯物史观透视戏曲发生与演进的过程中,也使“新歌剧”成为统摄戏曲历史的理论,同时开展大规模的戏曲教育,形成更具综合性的史学实践。可以看到,“整理国剧”推导的发生原理、通史建构与史学理论无一不以解放“史料”之内容、形态与功能为职志,创造了戏曲历史的新的存在方式;相应地,实地调研、博物收藏、教学演出等也可被视为广义的史纂行为,从而使戏曲史学对所处现实社会产生一定影响,在此意义上,“中国现代戏曲史学”之“现代”不仅代表戏曲史学内部方法的进阶,还彰显一种“现代历史意识”,即是“不断发现过去,重新认识过去,并在新的认识基础上,不断重写历史”。

颇有意味的是,王晴佳的以上看法建立在其对“整理国故”的系统研究之上,相较而言,“整理国剧”之“现在的立场”更加明晰,那就是文化立国和文化抗战的同步君临,或者说,以“整理国剧”为起点,中国现代戏曲史学走出从学问到学问的狭小天地,不复戏曲史一家独大的场面,形成发生原理、通史写作、理论建构多元共存的格局。那么以往被认为超出戏曲史学“(想象的)边界”的文本,如黄芝冈的《从秧歌到地方戏》、任桂林的《从平剧演变史谈到平剧在延安》、张庚的《话剧民族化与旧剧现代化》等就能建立历史纵深与整全视野,激活“整理国剧”以下诸多“运动”的发生、交叉与“转向”;反过来看,“整理国剧”也无法自外于20世纪中国文艺变革的总体语境,“国剧”概念已经展现戏曲可能释放的历史动能,而在其后延展的“遗产”“宝藏”等概念序列则表明联通“文”与“艺”的戏曲更为宏大的文化构想,“整理”即代表中国主体的能动实践,或可成为自主知识体系建构的一个重要线索。如此,“中国现代戏曲史学”之提出本身也成为“重写历史”的可行方案,是对当前日益僵化的历史写作观念及其认定的单一的著史动机、系统的著述体例、严谨的论证逻辑、规范的体制运作的一种反思,这自然有戏曲的复杂之处,但能否启发文学、艺术史学工作的一些新的尝试?“且试试看”。

END

作者单位:北京大学中国语言文学系(博士生)

本文原刊《文学评论》2026年第2期,原创内容如需转载,须经本刊编辑部授权

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-16 02:54:39 HTTP/2.0 GET : https://f.sjds.net/a/473279.html
  2. 运行时间 : 0.212504s [ 吞吐率:4.71req/s ] 内存消耗:4,299.20kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=db3e59d3ab7aca0905ffb5f5fa58c071
  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.000886s ] mysql:host=127.0.0.1;port=3306;dbname=f_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000811s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000375s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000853s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000591s ]
  6. SELECT * FROM `set` [ RunTime:0.000230s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000581s ]
  8. SELECT * FROM `article` WHERE `id` = 473279 LIMIT 1 [ RunTime:0.002283s ]
  9. UPDATE `article` SET `lasttime` = 1778871280 WHERE `id` = 473279 [ RunTime:0.001319s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000351s ]
  11. SELECT * FROM `article` WHERE `id` < 473279 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000386s ]
  12. SELECT * FROM `article` WHERE `id` > 473279 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000579s ]
  13. SELECT * FROM `article` WHERE `id` < 473279 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000631s ]
  14. SELECT * FROM `article` WHERE `id` < 473279 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002440s ]
  15. SELECT * FROM `article` WHERE `id` < 473279 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003503s ]
0.216295s