跳到内容
当前位置:首页>戏曲>孙蓉蓉 || “曲亦有道”:吴伟业戏曲序文中的戏曲理论

孙蓉蓉 || “曲亦有道”:吴伟业戏曲序文中的戏曲理论

  • 2026-09-24 08:50:09
孙蓉蓉 || “曲亦有道”:吴伟业戏曲序文中的戏曲理论

“曲亦有道”:吴伟业戏曲序文中的戏曲理论

孙蓉蓉

摘  要:吴伟业是明末清初著名诗人,他创作有杂剧和传奇,并有多篇戏曲序文。在这些戏曲序文中,吴伟业提出了“曲亦有道”“事俱按实”和“陶写我之抑郁牢骚”等理论。这些理论的提出,将戏曲从“小道末技”非系统、不足道的技艺提升为具有哲学深度的艺术表演形式,形成“曲道”,从而确立了戏曲的独立地位,明确了其创作特点和价值意义。吴伟业强调戏曲是剧作家抒愤言志的艺术载体,戏曲才是真正表现人生、反映社会的艺术,突显了文人戏曲的创作特点和时代特征。

关键词:吴伟业   “曲亦有道”   “事俱按实”   “陶写我之抑郁牢骚”

   吴伟业(1609-1671),字骏公,号梅村,别署鹿樵生、灌隐主人,江苏太仓人,是明末清初著名的诗人,与钱谦益、龚鼎孳并称“江左三大家”。吴伟业创作有传奇《秣陵春》、杂剧《临春阁》和《通天台》,还写有《秣陵春自序》《清忠谱序》《北词广正谱序》等戏曲序文。吴伟业在这些序文中,提出了“曲亦有道”“事俱按”和“陶写我之抑郁牢骚”等戏曲理论。由于吴伟业在诗歌创作上的巨大成就,因而学界对于吴伟业戏曲创作的关注较少,也忽视其戏曲理论的意义。因此,本文就吴伟业戏曲序文中所提出的理论观点进行分析,从而加强学界对这一问题的研究。

一、“曲亦有道”

  吴伟业的“曲亦有道”说,认为戏曲也有自身的“道”,而绝非“小道末技”。吴伟业“曲亦有道”的提出,确立了戏曲的独立地位,明确了其创作特点及其价值意义。

  吴伟业在《杂剧三集序》中提出“曲亦有道”,曰:

  近时多以帖括为业,穷研日夕,诗且不知,何有于曲?余以为曲亦有道也。世路悠悠,人生如梦,终身颠倒,何假何真?若其当场演剧,谓假似真,谓真实假,真假之间,禅家三昧,惟晓人可与言之。

  吴伟业提出“曲亦有道”,先是针对当时青年学子以科举考试作为自己的奋斗目标,“帖括”指科举考试时考生总括经文编成歌诀,以便记诵应试。考生为此“穷研日夕”,自然无暇顾及诗歌,更何况戏曲。吴伟业在此循循善诱,告诫苦心钻研的应试学子,“余以为曲亦有道也”。“曲亦有道”,在吴伟业看来,戏曲也有自身的“道”,它与诗文一样,具有传统文学的特性与价值,绝非所谓“小道末技”而不登大雅之堂。吴伟业的“曲亦有道”说,本质上是提升戏曲作为一种独立文体的地位,为戏曲立“道”,赋予戏曲正统文学的合法性。吴伟业的“曲亦有道”说,是明清之际戏曲理论中一个具有深刻内涵的命题,是对戏曲本质问题的思考。古代戏曲评论家为了提高戏曲的地位,使其具有正统文学的合法性,因而他们探讨戏曲渊源的问题,将其与古歌、诗词等联系起来。如刘楫《词林摘艳序》曰:“《康衢》《击壤》之歌,乐府之始也。汉魏而下,则有古乐府,犹有余韵存焉。至元、金、辽之世,则变而为今乐府。其间擅场者如关汉卿、庾吉甫、贯酸斋、马昂夫诸作,体裁虽异,而宫商相宣,皆可被于弦竹者也。”从远古的歌谣发展到元、金的戏曲,它们有着一脉相承的关系,因而都被称之为“乐府”。又如,臧懋循《元曲选后集序》曰:“所论诗变而词,词变而曲,其源本出于一。”这指出了曲由诗、词发展而来,它们是同源同质的关系。而尤侗针对时人的“卑视曲”,具体分析了诗、词、曲三者的发展流变,《名词选胜序》曰:“由诗入词,由词入曲,正如风起青蘋,必盛于土囊;水发滥觞,必极于覆舟,势使然也。而说者断欲判而三之,不亦固乎?且今之人,往往高谈诗而卑视曲,词在季孟之间。予独谓能为曲者,方能为词,能为词者,方能为诗。”在此,尤侗否认了将诗、词、曲割裂开来的说法,而认为曲就是从诗、词发展而来,这是文学发展的一个必然趋势。

  评论家们的这些论述,意在使曲具有像诗、词那样的地位,从而也成为正统文学的一个组成部分。而吴伟业的“曲亦有道”说,则明确将戏曲作为一种独立的文体,认为其有自身的特点和价值,曲的“有道”,是诗、词所不能比拟的。从吴伟业接着所云“人生如梦”“当场演剧”“真假之间”等,说明戏曲才是真正表现人生、反映社会的艺术。在舞台上搬演的戏曲,是人类社会生活的缩影,人生如戏,戏如人生,揭示了两者的深刻联系。吴伟业的“曲亦有道”说,将戏曲从“小道末技”非正统、不足道的技艺提升为具有哲学深度的艺术表演形式,从而形成“曲道”。

  吴伟业的“曲亦有道”说,确立戏曲为一种独立文体,又明确了戏曲的创作特点在于能够充分地抒情言志。吴伟业在《杂剧三集序》中曰:

  汉、魏以降,四言变为五七言,其长者乃至百韵。五七言又变为诗余,其长者乃至三四阕。其言益长,其旨益畅。唐诗、宋词,可谓美备矣,而文人犹未已也,诗余又变而为曲。……传奇、杂剧,体虽不同,要于纵发欲言而止。一事之传,文成数万,而笔墨之巧,乃不可胜穷也。

   在《北词广正谱序》中,吴伟业又曰:

  今之传奇,即古者歌舞之变也;然其感动人心,较昔之歌舞更显而畅矣。

  吴伟业论古代文学的发展,从汉魏的四言诗、五七言诗,到唐诗、宋词,最后形成戏曲,强调了曲同诗、词一脉相承,是渊源、流变的产物。不仅如此,吴伟业还特别指出“其言益长,其旨益畅”,在他看来,戏曲这种文学体裁具有较多的文字和较长的篇幅,这样就使作者在创作中的抒情言志能够更加充分灵活、自由流畅,“一事之传,文成数万,而笔墨之巧,乃不可胜穷也”。吴伟业的这一理论,已经不是简单地提升戏曲的地位,而是认为戏曲超越其他的文学样式,是最能丰富地表现人思想情感的一种艺术形式。因此,吴伟业在《北词广正谱序》中,又一次提到当时盛行的传奇,从渊源上看,戏曲源自于古歌舞,但与古歌舞相比较,则“更显而畅”,从而强调了戏曲在抒情言志上具有其特点和优势。因此,戏曲的“传奇、杂剧,体虽不同,要于纵发欲言而止”。

  吴伟业提出“其言益长,其旨益畅”,戏曲能“纵发欲言”。对这一问题,王骥德《曲律·杂论》中有极好的解释,曰:“诗不如词,词不如曲,故是渐近人情。夫诗之限于律与绝也,即不尽于意,欲为一字之益,不可得也。词之限于调也,即不尽于吻,欲为一语之益,不可得也。若曲,则调可累用,字可衬增。诗与词,不得以谐语方言入,而曲则惟吾意之欲至,口之欲宣,纵横出入,无之而无不可也。故吾谓:快人情者,要毋过于曲也。”王骥德以为,诗词受字数和格律的限制,因而不能尽意。而戏曲的曲调可连用,可加衬字,也可运用谐语、方言等,因而“曲则惟吾意之欲至”,更能充分地表达出作者的思想情感,“故是渐近人情”。吴伟业在《杂剧三集》“序言”中所说的这一观点,在《杂剧三集》编者邹式金、邹漪的《小引》和《跋》中亦有所指出。如邹式金《小引》曰:“诗亡而后有骚,骚亡而后有乐府,乐府亡而后有词,词亡而后有曲,其体虽变,其音则一也。声音之道,本诸性情,所以协幽明,和上下。”邹漪《跋》中亦云:“自有天地,即有元音,而其言情者则莫过乎诗。《诗》三百篇,不删郑卫,一变而为词,再变而为曲,体虽不同,情则一致。”“本诸性情”“情则一致”,这些观点都指出了戏曲抒情言志的创作特点,而吴伟业则更强调了戏曲抒情言志的“纵发欲言”,戏曲的这一创作特点是其它文学体裁所不能比拟的。

  吴伟业本人的戏曲创作,也证实了这一点。吴伟业在诗歌创作上取得巨大成就,形成独特的“梅村体”。“甲申之变”后,吴伟业以诗歌深切表达黍离之悲和身世之痛,如《圆圆曲》《琵琶行》《永和宫词》和《萧史青门曲》等诗作。然而,这些诗作似乎还不足以表达出他内心的纠结困惑、复杂多样的情感,于是,吴伟业又选择了戏曲体裁,创作杂剧《临春阁》《通天台》和传奇《秣陵春》。这三部戏曲作品皆作于明亡之后,“梅村杂剧二种亦撰成于仕清之前,至迟不晚于顺治十年秋”,“《秣陵春》传奇作于顺治九年至十年春季之间,梅村此时因清廷征召而遭逢失节之虞,故撰该剧以表见衷情”。据此表明,吴伟业的杂剧创作于明亡后、仕清前,而传奇则作于顺治九年至十年春季之间,即在吴伟业即将仕清前。顺治十年九月,对吴伟业人生来说是一个关键节点,清廷强征,不得已赴京受职,沦为“贰臣”。从“遗民”到“贰臣”这一身份的转变,吴伟业不仅遭受亡国之哀痛,而且还处于进退两难、矛盾彷徨的尴尬处境,深受道德困境的自我拷问。在这样一种现实面前,吴伟业由杂剧《临春阁》四出和《通天台》仅二出,到创作传奇《秣陵春》长达四十一出。吴伟业本人的创作,从诗歌到杂剧、传奇,正印证其所说“其言益长,其旨益畅”,传奇、杂剧“要于纵发欲言而止”。戏曲抒情言志的独特优势,不只是一种表现内容、表演技巧,而是关乎人生、社会和时代的艺术哲学。因此,吴伟业将其视为“曲亦有道”。

  吴伟业的“曲亦有道”说,还强调了戏曲的价值意义在于“讽一劝百”。《杂剧三集序》曰:

  文人之笔,或寓言,或纪实,想像形容,千载如见:由是贞者传,淫者亦传。如三百篇中不删《郑》《卫》,圣人以为男女情欲之事,不必过遏。词人狂肆之言,未尝无意,贞淫并载,可以为劝,可以为鉴,有其文则传其文而已。……噫!气运日降,淫倍于贞,文人无赖,诗变为曲。讽一劝百,时势使然,言之者无罪,选之者岂任过乎?

  吴伟业认为《杂剧三集》所选作品“贞淫并载”,因而可以“为劝”“为鉴”,在他看来,戏曲作品的“讽一劝百”,是一定时期社会状况、政治形势的需求而形成的。《杂剧三集》又称《杂剧新编》《杂剧三编》,是邹式金与其子邹漪共同编选的一部杂剧选本,完成于清顺治十八年(1661),集中收入明末清初之际19位剧作家共34种杂剧作品。由于晚明沈泰编《盛明杂剧》有初集、二集,邹式金父子有意接续之,故以“三集”命书。邹式金在《小引》中,明确地提出了戏曲的“风流教化”说,曰:“自宪府先赓,王、康嗣和,士大夫始知章甫端冠外,别有此一种风流教化。”明初朱有燉的“风化”说影响了戏曲创作和戏曲理论,突出地强调了戏曲的教化功能。而邹式金认为《杂剧三集》中所选作品,“‘言之者无罪,闻之者足以戒’,倘亦《小雅》之志,风人之遗乎?”显然,邹式金认为集中所选作品符合儒家诗教观,具有感染教化民众的社会作用。因此,《杂剧三集》所选作品,既有表现忠孝节义的剧作,如尤侗的《吊琵琶》、薛旦的《昭君梦》等,又有表现男女风情的剧作,如查伊璜的《续西厢》、碧蕉主人的《不了缘》等。吴伟业的《杂剧三集序》肯定了《杂剧三集》的编选思想,并且,他从自然本体的高度说明戏曲作品分有“贞淫”的必然性,“造化氤氲之气,分阴分阳,贞淫各出。其贞气所感,则为忠孝节烈之事;其淫气所感,则为放荡邪慝之事。二气并行宇宙间,光怪百出,情状万殊,而总繇文人之笔传之”。从宇宙天地分有阴阳,引出各有贞淫,于是就有了忠孝、邪淫之事,最后都通过文人之笔表达出来。基于此,吴伟业对《杂剧三集》所选作品,给予了高度的评价,曰:“余阅其三十余种,近今名流钜公之笔,搜采殆遍。达情叙事,宏畅详明,贞淫错出,各遵至妙:殆真所谓有其文则传其文,可以为鉴,可以为劝者也。是其为杂剧也,可以传也。”《杂剧三集》所选作品“贞淫错出,各遵至妙”,而在艺术表现上则“达情叙事,宏畅详明”,这些作品“为鉴”“为劝”,具有教育、感化民众的价值意义,这也正是“曲亦有道”的体现。

  吴伟业的“曲亦有道”说,不仅将戏曲作为诗词的延续和发展,提高了戏曲的地位,而且认为戏曲是一种独立的体裁,它更有利于创作主体的抒情言志,从而能够感动人心,具有“讽一劝百”的价值意义。这些理论前人都有所阐发,但吴伟业将其统括在“道”这一哲学范畴上,从而指出了戏曲艺术的规律和特点。

二、“事俱按实”

  吴伟业在《清忠谱序》中评论《清忠谱》为“事俱按实”“言亦雅驯”,按史实作曲,语言典雅庄重,这一评论准确地指出了《清忠谱》创作上的特点。而《清忠谱》的“事俱按实”,又引发出吴伟业对于明亡历史教训的感慨和反思。

  吴伟业在《清忠谱序》中指出《清忠谱》创作上的特点,曰:

  逆案既布,以公事填词传奇者凡数家,李子玄玉所作《清忠谱》最晚出,独以文肃与公相映发,而事俱按实,其言亦雅驯;虽云填词,目之信史可也。

   明末魏忠贤阉党案在崇祯二年(1629)被钦定为“逆案”后,将这一事件进行戏曲创作的有十几部,如范世彦《磨忠记》,清啸生《喜逢春》,穆成章《请剑记》,王应遴《清凉扇》,史槃《清凉扇余》,高汝拭《不丈夫》,盛于斯《鸣冤记》,陈开泰《冰山记》等。而“李子玄玉所作《清忠谱》最晚出”,也是描写这一事件的戏曲作品中艺术成就最高的一部传奇。吴伟业对此给予了很高的评价,“事俱按实”“目之信史”,《清忠谱》的故事情节都是按照历史的真实事件描写的,虽然它是一部戏曲,但却可以看作为一部真实可靠的历史。吴伟业将《清忠谱》视作为正史,以此说明《清忠谱》剧作具有记载历史、评判是非的意义,赋予了《清忠谱》极高的历史价值。 

  “事俱按实”,吴伟业的这一评论准确地指出了《清忠谱》创作上的特点。李玉在《清忠谱》开篇“谱概”中提出“清忠谱,词场正史,千载口碑香”,这亦说明李玉将《清忠谱》作为“正史”来创作,以作史之法作曲,因而剧作的故事情节是按照历史的真实事件描写的。《清忠谱》开篇“谱概”介绍了剧情,【满江红】:“珰焰烧天,正亘古忠良灰劫。看几许骄骢嘶断,杜鹃啼血。一点忠魂天日惨,五人义气风雷掣。溯从前词曲少全篇,歌声咽。 思往事,心欲裂;挑残史,神为越。写孤忠纸上,唾壶敲缺。一传词坛标赤帜,千秋大节歌白雪。更锄奸律吕作阳秋,锋如铁。” 曲的开头点出了魏忠贤阉党权势炽盛,忠良之士则遭遇劫难,“杜鹃啼血”比喻这一事件的悲怆和哀痛。而“一点忠魂”“五人义气”,则赞颂周顺昌的忠义气节和颜佩韦等五人的英雄侠义。剧作家以“唾壶敲缺”表达其创作时的激愤,他要用“阳秋”史笔,锄奸颂忠,弘扬正气。这支曲基本概括了《清忠谱》的故事内容。

  吴伟业评论的“事俱按实”,《清忠谱》剧中所出现的主要人物,如周顺昌、颜佩韦、杨念如、周文元、沈杨、马杰、魏忠贤、毛一鹭等,在史料中都有人物原型。如张溥《五人墓碑记》载:“五人者,盖当蓼洲周公之被逮、急于义而死焉者也。……既而以吴民之乱请于朝,按诛五人,曰颜佩韦、杨念如、马杰、沈杨、周文元,即今之傫然在墓者也。”《清忠谱》中所描写的主要事件,亦本于史料的记载。如周顺昌被秘密押解至京师,受尽严刑拷打,坚强不屈,终被囊首致死。《清忠谱》第十七折“囊首”,通过周茂兰到狱中探望其父周顺昌,描写了这一史实。如【五般宜】:“兀那龙须板,赤剥剥皮裂再敲。牛筋棒,扢擦擦骨折未饶。 …… 棍头上滚滚活虫挑,血和肉浑裹蛆虫,臭闻天表。……只愿棒头早早叫声去了,谁知道粉碎样尸骸,待儿看,添苦恼。”【蛮牌令】:“一霎起波涛,顷刻极刑遭,囊头亲祸惨,儿睹胜吞刀。恨不得代爹行,拼生命抛;恨不得赶黄泉,将爹抱牢。身僵挺,首囊包,亲儿送死,有口难号。”从遭受酷刑到囊首身死,《清忠谱》中这些描写本于《明史·周顺昌传》,载曰:“顺昌至京师,下诏狱。许显纯锻炼,坐赃三千,五日一酷掠。每掠治,必大骂忠贤。显纯椎落其齿,自起问曰:‘复能骂魏上公否?’顺昌噀血唾其面,骂益厉。遂于夜中潜毙之。”《清忠谱》剧中主要的人物、情节,都是“事俱按实”,在正史实录、野史笔记中多有记载。剧作家李玉就是在这些史料记载的基础上,加工创作,从而谱写出一部优秀之作。因此,吴伟业“事俱按实”的评论,准确地指出了《清忠谱》的创作特点。

  同时,吴伟业又指出了《清忠谱》“其言亦雅驯”,典雅庄重,合乎规范,富有表现力。《清忠谱》语言的“雅驯”具体表现为:其一,简洁雅致,符合身份。如第一折“傲雪”[菩萨蛮]:“生来不具封侯相,揭天富贵非吾望。忠孝自根心,君亲魂梦钦。  一身轻似叶,所重全名节。莫笑老常山,奸邪闻胆寒。”曲词中的“忠孝”“名节”,表现周顺昌的节操和情怀,又以“老常山”指唐名臣颜杲卿忠义殉国为喻,表现自己的忠烈风骨。这些曲词符合周顺昌清正廉洁的官员身份,又抒发了他重名节、轻私利的道德情操。其二,运用典故,贴切自然。如《清忠谱》第六折“骂像”【中吕·快活三】:“俺待学阳球伏阙号,效张钧请剑枭。恨不把奸皮冒鼓任人敲,倩祢衡挝出渔阳调。”曲词运用典故,以阳球、张钧、祢衡等历史人物自比,以此表露出对魏忠贤阉党的痛恨,以及铲除奸佞的决心,这些典故用词庄重,蕴含深意。其三,句式规整,富有韵律。如“骂像”【叨叨令】:“见参差楼儿和殿儿,直恁的巍巍峨峨的造。看多少门儿和栅儿,真个是重重叠叠的奥。遥望着灯儿和炬儿,闪的人辉辉煌煌的耀。猛望着身儿和首儿,活现出狰狰狞狞的貌。(指介)咦,兀的不恨杀人也么哥,兀的不恨杀人也么哥!”曲中以“巍巍峨峨”“重重叠叠”“辉辉煌煌”“狰狰狞狞”的叠词,使句式整齐,增强语言节奏感,具有较强的表现力,表现出人物的悲凉、激愤之情。其四,雅俗兼具,适合演出。如第十一折“闹诏”,描写以颜佩韦等五人为代表的苏州民众反阉党的斗争场面,其语言表达较为通俗,如【梨花儿】:“(付)驾上差来天也塌。推托穷官没钱刮,恼得咱家心性发,嗏!拿到京中活打杀。”【前腔】:“(净)久惯拿人手段滑,这番差使差了瞎。自家干儿不设法,嗏!一把松香便决撒。”这些曲词较为平实、易懂,适合舞台表演。《清忠谱》的“言亦雅驯”,运用雅洁词语、凝练措辞、典故隐喻和叠词句式等,描写故事情节、塑造人物性格,从而使剧作具有厚重的历史感,具有“史剧”的特征。《清忠谱》“言亦雅驯”的语言特色与“事俱按实”的创作特点正相契合,两者相辅相成,对历史事件的准确描写、雅致庄重的语言表达,《清忠谱》“使百千岁后观者泣、闻者叹,如读李子之词否也”

  《清忠谱》“事俱按实”的创作,使吴伟业在《清忠谱序》中,对他本人经历过的这一段历史痛彻心扉、深发感喟。吴伟业的序言不只是评论剧作,更在于抒发自身的感慨,具有其强烈的情感色彩。《清忠谱序》中评论《清忠谱》,从“李子玄玉所作《清忠谱》最晚出”到“目之信史可也”,寥寥数句。而序言全篇是吴伟业对晚明这一段历史的总结、反思和悲哀。《清忠谱序》首先是对明代历史的总结,曰:“先朝有国二百八十余年,其间被寺人祸者凡三;王振、刘瑾专恣于前,魏忠贤擅窃于后;驯致流毒天下,而国家遂亡。”吴伟业开篇介绍《清忠谱》创作的历史背景,宦官党争,殃及朝政,遭致亡国。其中魏忠贤的“擅窃”尤甚,“上自宰辅禁近,下暨省会重臣”,并网罗众多爪牙,专横跋扈,恣意妄为,忠良之士遭其坑戮。其次,颂赞周顺昌的忠义气节、颜佩韦等五人的大义凛然。《清忠谱序》曰:“呜呼!公之节义能使人感奋至此,可谓难矣!闻公在诏狱,贤党虐胁之者万端,五毒备尝,辞色不少屈,卒以不可屈而私毙之。”当周顺昌被逮捕时,以颜佩韦等五人的苏州市民,“方公被逮时,宣诏于郡西察院,民随而号泣请救者万人;见公将就桎梏,咸戟手愤詈,因直前击缇骑,几为变。赖郡守寇公、邑令陈公抚之而后定。事闻,诏捕首乱,颜佩韦等五人毅然诣官府自列,赴死无改容”。这一叙述字里行间,是对这些忠臣、义士的敬佩和表彰。再次,对崇祯帝“焦劳勤政”的肯定和惋惜,对魏忠贤逆党“肆虐继贪”的痛恨和谴责。《清忠谱序》曰;“余所惜者,先朝列圣相承,思陵躬亲菲恶、焦劳勤政者,十有七年,而逆寇射天,神京沦陷。”吴伟业认为,崇祯帝节俭克己、勤政爱民,这一评语流露出在明末政治黑暗腐败的背景下,吴伟业对崇祯帝的肯定和惋惜。而晚明朝政的祸乱,“追维始祸,起于延、西二抚之贪婪,皆逆贤党也。……终于贼焰燎原,灾弥穹壤,一败而不可救,真可痛也”!吴伟业的叙述、评论褒贬有加、爱憎分明。最后,对明亡国历史的反思。《清忠谱序》曰:“甲申之变,留都立君,国是未定,顾乃先朋党、后朝廷,而东南之祸亦至。噫!彼为阉党漏网之孽,固无足怪,谁为老成,丧心耄及,更可痛也!假令忠介公当日得久立于熹庙之朝,拾遗补过,退倾险而进正直,国家之祸,宁复至此?”改朝换代、国破家亡,这使序作者不得不面对残酷的现实作出反思。

  因此,吴伟业的《清忠谱序》,虽然是一篇戏曲的序文,但实际上文中主要谈的并非是《清忠谱》,而是《清忠谱》“事俱按实”所依据的历史事件。吴伟业《清忠谱序》一文,已然超出戏曲研究的范围,是与当时的政治形势、社会状况密切相关的政论文章,是一篇珍贵的历史文献。

三、“陶写我之抑郁牢骚”

  在吴伟业戏曲序文中,非常突出地强调了戏曲是一种“陶写我之抑郁牢骚”的创作活动,他评论元杂剧作家“困穷不得志”、李玉“歌呼笑骂”和尤侗“牢落于斯世”,以及其自述“中心烦懑,有所彷徨”而作《秣陵春》。吴伟业的这一戏曲理论在明清之际这一特殊历史时期有着特别的意涵。

  吴伟业在《北词广正谱序》中,提出了“陶写我之抑郁牢骚”,曰:

  盖士之不遇者,郁积其无聊不平之概于胸中,无所发抒,因借古人之歌呼笑骂,以陶写我之抑郁牢骚。而我之性情爰借古人之性情而盘旋于纸上,宛转于当场。

  吴伟业所序的《北词广正谱》,是明末清初戏曲家李玉编著的北曲曲谱典籍,共18卷,收录了447个北曲曲牌,系统标注字声平仄、韵位规则与衬字用法等,被誉为北曲曲谱中的一部集大成之作。对于这样一部专门研究北曲曲谱的著作,吴伟业为其作序时,仅在评论元杂剧音律“多以北调擅场”时,才提到北曲的问题,曰:“其中属辞比事,引宫刻羽,不爽尺寸,浑然天成,仍自雕划众形,细若毫发,而意象豪迈,不为法律拘缚者,又多以北调擅场。”因此,李玉“采元人各种传奇散套及明初诸名人所著中之北词,依宫按调,汇为全书”。而吴伟业在《北词广正谱序》中,通篇所阐述的是戏曲创作“陶写我之抑郁牢骚”的问题,其中有元杂剧和李玉的戏曲创作。

  吴伟业对元杂剧创作,特别指出了其“借他人之酒杯,浇自己之块垒”的特点,曰:“而元人传奇,又其最善者也。盖当时固尝以此取士,士皆傅粉墨而践排场,一代之人文,皆从此描眉画颊、诙谐调笑而出之,固宜其擅绝千古。而士之困穷不得志、无以奋发于事业功名者,往往遁于山岭水湄,亦恒借他人之酒杯,浇自己之块垒。其驰骋千古,才情跌宕,几不减屈子离忧、子长感愤,真可与汉文、唐诗、宋词连镳并辔。”这一段话较真实地反映了元代杂剧作家的境况。元代是我国古代异族统治的一个黑暗时代,元代科举制废除后,传统文人便失去了进入仕途的通道。他们沦落到社会底层,投身于杂剧创作,与民间艺人一起导演、参演。由于“困穷不得志”,不能实现“事业功名”,因而剧作家借助于杂剧创作,抒发牢骚、表达愤慨。正如于若瀛《阳春奏序》曰:“元曲兴而其变极矣。……一时名士如马东篱辈,咸富有才情,兼善音律,以故遂擅一代之长。要而言之,实所以宣其牢骚不平之气也者。”元杂剧“借他人之酒杯,浇自己之块垒”的创作,这些作品反映社会生活,具有深刻的思想内涵,被誉为“一代之文学”,成为这一时代的文化象征。

  吴伟业评论李玉的传奇创作,为“歌呼笑骂”。《北词广正谱序》曰:“李子玄玉,好奇学古士也,其才足以上下千载,其学足以囊括艺林,而连厄于有司。晚几得之,仍中副车。甲申以后,绝意仕进,以十郎之才调,效耆卿之填词,所著传奇数十种,即当场之歌呼笑骂,以寓显微阐幽之旨,忠孝节烈,有美斯彰,无微不著。”吴伟业的这一段文字,介绍了李玉的身世、经历。李玉是一个“好奇学古士”,他才华横溢,学识渊博,但他仕途不顺,“连厄于有司”,因而屡试不中,直到明亡前,才得中副榜。李玉“甲申以后,绝意仕进”,专心戏曲创作,作有34种传奇,今存《一捧雪》《人兽关》《永团圆》《占花魁》《清忠谱》《千忠戮》等18种。李玉对自己的传奇创作,曾评说:“数奇不偶,寄兴声歌,作《花魁》、《捧雪》二十余种,演之氍毹,聊供喷饭。”显然,李玉的困顿坎坷、失意潦倒,于是寄情于戏曲创作,正如吴伟业所评“士之不遇者”,“因借古人之歌呼笑骂,以陶写我之抑郁牢骚”。李玉戏曲创作的这一特点,在焦循《剧说》卷四中亦有评论:“元玉系申相国家人,为申公子所抑,不得应科试,因著传奇以抒其愤,而《一》《人》《永》《占》尤盛传于时。其《一捧雪》极为奴婢吐气,而开首即云:‘裘马豪华,耻争呼贵家子。’意固有在也。”“因著传奇以抒其愤”,亦指出了李玉戏曲创作的特点。可见,吴伟业虽然是为《北词广正谱》作序,但却未论及曲谱的问题,而是通过对李玉戏曲创作的评述,表达自己“陶写我之抑郁牢骚”的理论主张。

  吴伟业的《西堂乐府序》同样强调戏曲创作“以陶写我之抑郁牢骚”,他评论尤侗“牢落于斯世”,因而其作品抒发了仕途失意的愤慨、悲伤。《西堂乐府序》曰:“展成司李北平,政成报绩,遭遇视亭伯胜之;而雕龙之才,凌云之气,经乙夜之所赏叹,缘鼎湖陟格,不得一望承明之庭。相如被召于上林,浩然哀吟于云梦,上有好文之主,下受不世之知,而时会适然,遇与不遇之不同若此。士君子之牢落于斯世者,可胜道哉!……予十年前喜为小词,晋江黄东崖贻之以诗曰:‘微书郑重眠餐损?法曲凄凉涕泪横。’今读展成之词而有感于余心也。”《西堂乐府》是尤侗创作的杂剧、传奇剧本集,收录杂剧《读离骚》《吊琵琶》《桃花源》《黑白卫》和《清平调》五种,及传奇《钧天乐》一部。这些剧作多含愤激之语,表达出作者对现实政治的不满与批判。《西堂乐府》剧作中所描写的人物,如屈原、王昭君、陶渊明等,尤侗借这些历史人物抒发了自己的不平和感慨。其中《钧天乐》传奇,尤侗在作品中揭露科举舞弊与权贵专制的黑暗现实,由此险遭牢狱之灾。对于尤侗的剧作,评论者多有指出为感愤之作,如曹尔堪《西堂乐府题词》曰:“吾友悔庵起而排之,以沉博绝丽之才,为嬉笑、为怒骂,雅俗错陈,毕写情状。”又如,王士禄《读离骚题词》曰:“吾友悔庵,以掞天之才,屈首佐郡久之。直道不容,复投劾以去。其所撰述,至流闻宫掖,世庙尝叹其才,若汉武之于司马。将官之禁近,会龙驭上宾,其事遂已。是其受知遇主,虽视左徒有殊,至怀才而不得伸,则寔有同者。此《读离骚》之所由作也。今读其词,磊块骚屑,如蜀鸟啼春,峡猿叫夜,有孤臣嫠妇闻而拊心,逐客羁人聆而陨涕者焉。”这些评论都指出了尤侗戏曲创作的特点。而尤侗本人对于戏曲创作,亦强调“夺人酒杯,浇己块垒”,其《叶九来乐府序》曰:“古之人不得志于时,往往发为诗歌,以鸣其不平。顾诗人之旨,怨而不怒,哀而不伤,抑扬含吐,言不尽意,则忧愁抑郁之思,终无自而申焉。既又变为词曲,假托故事,翻弄新声,夺人酒杯,浇已块垒。于是嘻笑怒骂,纵横肆出,淋漓极致而后已。……至于手舞足蹈,则秦声赵瑟,郑卫递代,观者目摇神愕,而作者幽愁抑郁之思为之一快。”在尤侗看来,戏曲的文体特点是最能充分表达作者的“幽愁抑郁之思”。尤侗这篇为叶奕苞戏曲集所作的序,真正道出了他自己戏曲创作的动机和目的。因此,吴伟业的《西堂乐府序》并没有具体评论剧作,而是突出地强调了尤侗戏曲创作的“陶写我之抑郁牢骚”。

  吴伟业强调戏曲创作“陶写我之抑郁牢骚”,实际上他本人的戏曲创作正是这一创作理念的具体实践。如他在《秣陵春序》中,以答客问的形式表明了自己的创作缘起,曰:“余端居无憀,中心烦懑,有所彷徨感慕,仿佛庶几而将遇之,而足将从之,若真有其事者,一唱三叹,于是乎作焉。是编也,果有托而然耶?果无托而然耶?即余亦不得而知也。”吴伟业自诉其“中心烦懑”“彷徨感慕”,于是创作了《秣陵春》传奇,既如此那这一创作必然是“有托”,但他又说“有托”“无托”,自己也“不得而知”,这种闪烁其词、欲说还休正是吴伟业创作《秣陵春》复杂心态的体现。结合吴伟业的身世、经历,朝代更替、身份转换,吴伟业“中心烦懑”“彷徨感慕”,因而在其《秣陵春》的创作中得以倾诉和发泄。如第三出《闺授》的【中吕引】【满庭芳】:“恩泽通侯,勋资名将,江东门第金张。歌钟零落,花没旧昭阳。老去悲看故剑,记当年、茄吹横江。伤心处,夕阳乳燕,相对说兴亡。”江山易主、今昔对比,它对个人人生造成了巨大的影响,从而引发出悲凉、苦楚。又如,第十一出《庙市》【中吕过曲】【泣颜回】:“藓壁画南朝,泪尽湘川遗庙。江山余恨,长空黯淡芳草。呀!这匾上是我父亲手笔。临风悲悼,识兴亡断碣先臣表。咳!我父子受国厚恩,无由答报。(作拭泪介),过夷门梁孝台空,入西洛陆机年少。” 剧中徐适经过李王庙时的这一段唱词及动作,实为吴伟业本人的心声,受前朝“厚恩”,无以报答,因而“彷徨感慕”。《秣陵春》卷末收场诗归结为:“门前不改旧山河,惆怅兴亡系绮罗。百岁婚姻天上合,宫槐摇落夕阳多。”剧中通过徐适与黄展娘的情缘离合,抒发故国之思、兴亡之叹和身世之感。因此,吴伟业《金人捧露盘·观演〈秣陵春〉》词曰:“喜新词,初填就,无限恨,断人肠。为知音,仔细思量。偷声减字,画堂高烛弄丝簧。”《秣陵春》传奇的“无限恨,断人肠”,就是“陶写我之抑郁牢骚”之作。吴伟业戏曲创作的这一特点,评论者多有指出,如尤侗《梅村词序》曰:“及所谱《通天台》《临春阁》《秣陵春》诸曲,亦于兴亡盛衰之感,三致意焉:盖先生之遇为之也。”李宜之《秣陵春序》曰:“灌隐五古,直逼汉、魏;歌行近体,上下初、盛;叙记之文,不愧唐、宋大家;而寄兴词曲,复推宗匠。”冒辟疆评:“梅村祭酒填《秣陵春》初成,……去夏偶得刻本,读之喜心倒极,字字皆蛟人之珠,先生寄托遥深,词场独擅,前有元人四家,后与临川作劲敌矣。”钱谦益《读豫章仙音谱漫题八绝句》诗:“谁解梅村愁绝处?《秣陵春》是隔江歌。”这些评论都指出了吴伟业戏曲创作是抒发了“兴亡盛衰之感”,其剧作“寄兴”,寄托了吴伟业的思想情感,具有深刻的寓意。因此,吴伟业的戏曲序文,从评论元杂剧到他本人的创作实践,都印证了戏曲创作的“陶写我之抑郁牢骚”。

  吴伟业提出的“陶写我之抑郁牢骚”,“陶写”一词出自《世说新语·言语》“正赖丝竹陶写”,正需要依赖音乐陶冶性情、排遣忧闷、宣泄情绪。而“陶写我之抑郁牢骚”这一观点源自于司马迁的“发愤著书”说。在明清之际的历史变迁中,吴伟业的“陶写我之抑郁牢骚”,不只是他个人的一种戏曲观点,而是反映出这一时期文人士大夫的特殊心境和艺术旨趣。明末清初,朝代更替、家国沦丧,这一历史背景使文人士大夫不仅遭遇怀才不遇、科场失利的困境,而且遗民甚或是贰臣的身份,使他们内心充满了痛苦悲哀、矛盾无奈,处于进退失据、左右为难的境地。因此,有李玉的“连厄有司”“绝意仕进”,尤侗的“牢落斯世”,吴伟业的“中心烦懑”“彷徨感慕”,这样一些“抑郁牢骚”,不仅是个人对命运不公的愤慨,更是文人士大夫群体对于家破国亡、心灵煎熬和道德拷问的精神创伤。于是,他们自觉地选择最能表现“陶写我之抑郁牢骚”的戏曲体裁,抒愤言志、宣泄情感和抚慰心灵,李玉、尤侗和吴伟业的戏曲创作证实了这一点。这些戏曲创作一改传统戏曲的教化、娱乐的功能,而成为文人士大夫的独立思想、真挚情感的自我书写。基于此,文人士大夫剧作题材往往取材于史书或以往的文学作品,他们的创作“以史写心”“以古况今”,“借他人之酒杯,浇自己之块垒”,这样的戏曲创作既宣泄了剧作家的“抑郁牢骚”,又具有了深厚的社会意涵,也体现了文人戏曲的性质和时代特征。 

  综上所述,吴伟业戏曲序文中的戏曲理论,严格地说,它并没有建构起系统的理论体系,而是基于他个人的生活经历和情感意念的思想观点。吴伟业并不在意所序的评论对象,而是借题发挥,以阐发自己的观感和理解。序文中所提出的“曲亦有道”“事俱按实”和“陶写我之抑郁牢骚”等,既体现了吴伟业的戏曲观点,也反映了这一时期文人戏曲的创作特点。 

        作者:孙蓉蓉,温州大学人文学院教授

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-09-26 21:58:26 HTTP/1.1 GET : http://f.sjds.net/a/489116.html
  2. 运行时间 : 0.075406s [ 吞吐率:13.26req/s ] 内存消耗:4,408.02kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=0738434eedc0f7dac69f32d11064dbcc
  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.000807s ] mysql:host=172.18.0.4;port=3306;dbname=f_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001109s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000477s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000437s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000612s ]
  6. SELECT * FROM `set` [ RunTime:0.000297s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000704s ]
  8. SELECT * FROM `article` WHERE `id` = 489116 LIMIT 1 [ RunTime:0.000549s ]
  9. UPDATE `article` SET `lasttime` = 1790431106 WHERE `id` = 489116 [ RunTime:0.002193s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000329s ]
  11. SELECT * FROM `article` WHERE `id` < 489116 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000400s ]
  12. SELECT * FROM `article` WHERE `id` > 489116 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000400s ]
  13. SELECT * FROM `article` WHERE `id` < 489116 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000486s ]
  14. SELECT * FROM `article` WHERE `id` < 489116 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000474s ]
  15. SELECT * FROM `article` WHERE `id` < 489116 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000603s ]
0.085037s