当前位置:首页>戏曲>张越 | 本体溯源与空间拓荒: 敦煌戏曲研究的渊源与现状综论

张越 | 本体溯源与空间拓荒: 敦煌戏曲研究的渊源与现状综论

  • 2026-06-27 08:17:55
张越 | 本体溯源与空间拓荒: 敦煌戏曲研究的渊源与现状综论

点击蓝字 关注我们

Chinese Theatre Arts

全国中文核心期刊

中文社会科学引文索引(CSSCI)来源期刊

中国人文社会科学期刊AMI综合评价核心期刊

《戏曲艺术》2026年第1期

(总190期)

本体溯源与空间拓荒:

敦煌戏曲研究的渊源与现状综论

张越

敦煌研究院考古研究所

摘 要:敦煌戏曲研究滥觞于敦煌俗文学基础上的“前戏曲”研究,在石窟寺考古、文献研究、乐舞图文互释、民俗研究、当代戏曲形态研究等领域成就斐然。其研究并非孤立地进行文本推演,而是着眼于建构“案头—场上—文化生态”多面一体的研究格局。在学科溯源上,敦煌戏曲研究尚需形成关乎戏曲本体的研究体系。在演艺考古上,乐舞与戏曲、百戏与戏曲、古代宫廷与民间演艺的关系也需量定。在图文互释上,如何打通史料与演艺空间的阐释壁垒,亦是窥察戏曲生态的关键问题。

关键词:敦煌;戏剧;戏曲;考古;学术史

 敦煌作为古今丝绸之路文化交流的重要载体,石窟出土文献与图像为中古文化研究提供了重要的实证材料。二十世纪至今的敦煌戏剧与戏曲研究导向两方面内容,其一是石窟与文献史料中的曲艺书写研究,其二是本地戏曲史研究。[1]在学科史研究上,已有研究提出系统整理敦煌写本戏剧的必要性。但从戏曲学自身视角看,前人研究远非止步于写本文献推演,而是形成了文学研究、观演研究、文化语境研究多面一体的研究空间,其研究亦呈现出聚焦于戏曲本体的趋势。本文拟从“戏曲学”本体视角回顾敦煌戏曲学的起源、嬗变,进行学科展望。[2]

一、文以载始:敦煌戏曲学的起源与二十世纪学术史

何谓“戏曲”本体?古今中外学界对此争论不一,但其研究的基本范畴与戏剧相通,即文学文本范畴与舞台演出范畴。[3]敦煌戏曲研究发端于二十世纪初期的俗文学研究,主要聚焦于对流失写卷的公布、整理与校勘,如对佛曲、曲子词、散佚诗文和变文等作品的研究,包括王仁俊辑印的《敦煌石室真迹录》[4],罗振玉编印的《敦煌石室遗书》[5]《鸣沙石室佚书》[6]《敦煌零拾》[7],王国维的《敦煌发见唐朝之通俗诗与通俗小说》等 [8]。罗振玉《敦煌零拾》收录了经注、医方、历书、卜筮、户牒、佛曲等内容,但“佛曲”一节所录的内容其实是变文,与《隋书·音乐志》中“西凉乐”中提及的“佛曲”为两种完全不同的事物。之后,徐嘉瑞、向达、郑振铎等人都将敦煌石室出土讲唱文本视为“佛曲”[9]。1929 年向达发表《论唐代佛曲》,对佛曲进行了如下界定:“佛曲者,是由西方传入中国的一种乐曲,有宫调可以入乐。内容大概都是颂赞诸佛菩萨之作,所以名为佛曲。大约为朝廷乐署之中所有,不甚流行民间。” [10]佛曲的定位问题得以初步澄清。此外,刘复的《敦煌掇琐》[11]为作者在法国留学期间所抄录的写本集,包含了法国国立图书馆藏百余件敦煌写本。陈寅恪撰写了《敦煌本维摩诘经文殊师利问疾品演义跋》《有相夫人生天因缘曲跋》《须达起精舍因缘跋》等文章,对后人称之为“变文”的几篇俗文学进行了简要梳理。[12]1931 年,陈垣的《敦煌劫馀录》是国内较早以目录方式列举敦煌文献的著作,收录了 8679 号文献,其中收录数篇敦煌歌辞。[13]随后,许国霖于 1937 年出版的《敦煌石室写经题记与敦煌杂录》补充了《敦煌劫馀录》未收录的“偈赞”。[14]

敦煌民间词曲研究关乎剧、词、曲在中古时期的演进史问题。敦煌藏经洞出土《云谣集》是我国今存最早的一部唐代民间词曲集,罗振玉、朱孝臧、刘复等人先后据流失海外的写本录文进行辑录。 [15]王国维《唐写本〈云谣集杂曲子〉跋》[16]、郑振铎《云谣集杂曲子目录》[17]、冒广生《新校云谣集杂曲子(彊村遗书本)》[18]、张尔田《与龙榆生论云谣集书》[19]、唐圭璋《云谣集杂曲子校释》等都是辑录与研究《云谣集》的代表作。[20]在《云谣集》以外,胡适、刘复、傅芸子等人均对敦煌歌辞进行过不同程度的整理与研究。胡适出版于 1930 年的《胡适校敦煌唐写本神会和尚遗集》自序中包含了对《菏泽大师神会传》和《神会和尚遗集》的研究,其中提及了敦煌歌辞。[21]他也分别在 1958 年与 1960 年发表的两篇文章中解决了 P.2045 写本、《南宗定邪正五更转》的作者问题、S.6103 和 S.2679 等写本的缀合问题。[22] 1950 年,王重民整理并编撰了《敦煌曲子词集》。[23]任中敏先后出版了《敦煌曲初探》《敦煌曲校录》和《敦煌歌辞总编》等著作,并与王昆吾合著了《隋唐五代燕乐杂言歌辞集》。[24]其中,《敦煌曲校录》收录了包括曲子词和唐大曲在内的五百余首歌辞,成为当时最为系统的敦煌歌辞集。此后,项楚等人的《敦煌歌辞总编匡补》对任中敏著作进行了勘误和增补,补遗了数篇此前未被收录的曲辞,提供了更精确、全面的歌辞集。 [25]林玫仪、饶宗颐、高国藩、张剑、吴肃森、伏俊琏等学者均在上世纪对敦煌歌辞展开了系统研究。[26]

变文研究关乎敦煌戏剧文学的起源与流变。胡适、郑振铎等人较早将变文名称用于俗文学研究。[27]关于“变文”的概念,广义的“变文”将所有俗文学纳入变文行列中,而狭义的“变文”不包括俗赋、讲经文、押座文与解座文、话本、词文等类作品。关于变文的起源,诸家说法各存其理,梅维恒(Victor H. Mair)在《唐代变文》(T’ang Tranformation Texts)一书中较为全面地综述了中外研究者的“本土说”“外来说”与“文化融合说”。[28]除了整理、考证与校注外,在变文的剧本性质与戏曲史价值研究上,最富争议的当属《目连变文》与英藏敦煌文献 S.2440v 的剧本性质研究。学界对《目连变文》的研究涉及到文本校录、题材与叙事研究、变文与后世目连戏的关系等内容。而在 S.2440v 研究中,任中敏与李正宇均将此卷定为剧本,[29]席臻贯认为本卷与敷演《鸿门宴》故事的《剑舞》台本格式相似,以此证明宋代歌舞剧、杂剧与唐乐舞(剧)之间存在渊源关系。[30]欧阳友徽认为本卷属歌舞戏脚本。[31]当然,关于此卷的剧本性质,学界也不乏质疑之声,曲金良从故事的完整性、是否为代言体、是否存在舞台表演、是否具备剧本形式、相较于《太子成道经》的特殊之处等方面反驳了李正宇的观点,认为此卷仅为摘抄自《太子成道经》的韵语吟词,而非剧本。[32]刘瑞明也认为此文与“剧本”相去甚远,其文字仍是变文。[33]综合各家观点,产生这种分歧的主要原因在于学界对其中的唱词是否具有表演性质存在争论,认为该篇为剧本者认为整篇文字与戏曲剧本的唱白结构相似,甚至配有动作说明;而否认其为剧本者认为该篇仅是一篇变文,其唱词与动作仅用以叙事,并非为表演服务。这一争论的核心最终回到了“变文与讲经文是否具备表演性质”以及“什么才是真戏曲”的戏曲本体论争议。

二十世纪敦煌戏曲研究的另一支流为石窟散乐、百戏图像研究,这一领域关涉到中国早期杂戏的形态史问题。敦煌以外的隋唐百戏研究开启于二十世纪上半叶,如邵茗生的《汉晋六朝之散乐百戏:汉唐以来散乐百戏考》、夏应域的《隋唐时之百戏》,[34]特别是在唐代歌舞戏方面,杨荫深在 1941 年的文章《唐代的游艺》中已经注意到“唐戏问题”。[35]但上述研究仅限于河西地区以东传世文献中的散乐百戏,较少涉及到敦煌歌舞戏。随着敦煌石窟考古的推进,任中敏于二十世纪五十年代发表了数篇讨论唐戏形态的文章,并在著作《唐戏弄》中明确提出唐代存有戏剧,较早结合敦煌乐舞图像探讨唐代歌舞戏。 [36]常任侠 [37]、庄壮 [38]、席臻贯 [39]、牛龙菲 [40]、姜伯勤[41]等人也在此方面取得了丰硕成果,他们的研究主题大多聚焦于舞台(戏台)形制、傩舞与戏剧的关系、宗教舞蹈与戏曲科仪的关系、石窟百戏杂技图像等方面。

梳理二十世纪学术史,早期的敦煌戏曲研究本质上服务于敦煌文献、文学、图像研究,而非服务于戏曲研究本身。且受制于实证材料的匮乏,特别是唐史史料中丰富的歌舞百戏材料与同时代考古图像之间并非存在一一对应的关系,研究发端和研究倾向均聚焦于有无剧本与剧本性质研究上,故而将研究局限于较为狭窄的理论问题中。例如,唐大曲与歌舞戏研究主要基于《教坊记》、两唐书、《通典》等传世文献所载的史料,图像与图文互释研究或是“文献先行”、点对点式寻找图文对应关系,或是笼统地将所有乐舞视为一体进行研究,研究的出发点不同,方法不同,判断的依据不同便会导向不同的结果。随着二十世纪后半叶敦煌学的推进,同时中国戏曲史研究也发生了深刻的转型,其中最突出的特征是从戏曲文本研究转向演出空间的剧场性研究、从文学研究转向戏曲本体的研究,为敦煌戏曲学的提出和研究开辟了一个全新的学术空间。

二、学科互动:新世纪多元化的戏剧戏曲学研究

新世纪后,考古新材料的公诸于世推动了重证戏曲起源的潮流。一批学者借助敦煌学的新成果,将研究聚焦于戏曲的本体与主体性。顾春芳教授在《戏剧学导论》中指出:“戏剧体现为一种时空交融的艺术,它有三个最根本的特性是稳定不变的,那就是‘现场性’ ‘假定性’‘时空交融性’。”[42]随着戏曲本体意识的增强,这一时期的研究者逐渐重视基于戏曲特性发掘敦煌史料与早期戏曲形态的关系。

第一,戏曲与民俗研究。伴随着作为独立学科的民俗学的发展,民间文艺与戏曲的关系研究具有无可回避的学术价值。敦煌图文史料中最为显见的民俗信息当属驱傩。敦煌多篇遗书均载有驱傩文,如 P.3468《驱傩词》讲述诸种驱傩手法与对象,展示了驱傩过程中的假定性;P.3270《儿郎伟》记录了“驱傩岁暮,送故迎新”的习俗。[43]据此,康保成在梳理“傩”与戏曲起源的关系时,以敦煌文献驱傩词《进夜胡词》中的“打夜胡”为例分析北宋时民间驱傩的娱乐化转向。[44]黎国韬等《试答“唐戏百问”》借助新材料回答了敦煌文书中的《儿郎伟》所涉傩仪与戏剧的关系。[45]黎国韬《侲子考》根据 P.4055《儿郎伟》中关于晚唐沙州岁末驱傩仪式的记载探讨了傩仪参与者的身份。[46]在祭祀向演艺的转化主题上,日本学者竺沙雅章曾引用敦煌文书 S.6735 对 P.3730两篇文书进行校订,在其基础上,田仲一成结合 P.3220 与 P.3889 号文书认为,中唐至晚唐后敦煌地区的祭祀为儒佛混和的产物,从最初以佛教信仰为主、以造像为目的的祭祀,逐渐转变为遵照儒教礼仪的祭祀,用于辅助寺庙俗讲,且以增进邻里和睦为目的,这种转变降低了祭祀的宗教意识,为祭礼向文艺演出的转化提供了成熟的条件。[47]

在傩与祭祀以外,亦有成果试图探索敦煌史料中的民俗与戏曲的关系,如康保成探讨了佛教、灯节、影戏之间的传承关系,[48]李正宇探讨了敦煌傩的体系、歌场与伴乐、傩队问题,[49]李明德探讨了敦煌近代寺院庙会上演大戏与小戏的活动,[50]高国藩《敦煌俗文化学》将戏曲纳入整个俗文化系统中考量。[51]总结而言,新世纪的驱傩研究并非简单研究傩本身,而是结合敦煌地区的宗教枢纽身份,研究多重宗教背景下的傩、祭祀、演艺之间的关系。

第二,戏曲与乐舞形制研究。伴随石窟与墓葬考古新材料的出现,中古时期的乐舞对于后世戏曲舞蹈、身段、舞台甚至叙事性的影响成为学者关注的命题。例如,《宋金元戏曲文物图论》收录了莫高窟 112、144、172、200 窟的乐舞图像摹本,将乐舞纳入到“戏曲文物”系统中。 [52]《中华戏曲志要·戏曲文物卷》将莫高窟部分乐舞图像与其它地域的墓葬乐舞壁画一同纳入到“戏曲壁画”行列。 [53]而乐舞专题下的研究又可分为几方面。其一是戏台与建筑研究。例如,康保成在《“瓦舍”“勾栏”新解》一文中探讨了佛教寺院中的“勾栏”与“棚”形制,认为宋元的瓦舍正是唐代文献中常被提及的戏场。[54]其二是杂戏与乐舞形制研究。孟凡玉主编的《丝绸之路乐舞艺术研究资料汇编·敦煌卷》收录了数篇敦煌石窟乐舞史料的研究成果,包括乐器、乐队形制、曲谱与舞谱、俗文学、歌舞戏相关资料。 [55]姜伯勤《敦煌音声人略论》,[56]关也维《敦煌古谱的猜想》,[57]李正宇《归义军乐营的结构与配置》《沙州归义军乐营及其职事》,[58]刘进宝《唐五代“音声人”论略》和《归义军时期的“音声人”》[59],刘飖《释宝唱著述考》[60]等成果聚焦于解决归义军乐营的演职人员、机构职能、演出习俗等问题,启发了后人对音乐机构与戏演机构关系的思考。黎国韬在多篇论文中对敦煌遗书中的“花勾”“队武舞”“作语”“后座”“头”“了”“嘲”“嫽哢”“叫噪”“谜”等杂戏演艺类术语进行了考述。 [61]其三是敦煌乐谱抄本研究。继任中敏《唐声诗》[62]后,学界不乏对乐谱抄本展开释读,包括席臻贯、柴剑虹、陈应时等人的研究,亦对戏曲曲谱研究有所裨益。[63]其四是敦煌乐舞与中国乐舞史、曲艺史研究。《中国舞蹈发展史》《中国舞蹈艺术史图鉴》等收录了莫高窟 144、146、172、205、220 等窟的舞蹈图像。 [64]王子初《中国音乐考古学》收录了莫高窟 156、220、248、272、390 等窟的乐舞图像,并将宋前乐舞图像与宋金元后的墓葬戏曲壁画区分列出,将张世卿墓、韩师训墓、禹州白沙宋墓、赵处墓、伊川元东村墓、广元罗家桥南宋夫妇墓的散乐图像视为早期戏曲图像,将莫高窟、克孜尔石窟的乐舞图像归于音乐图像中,可见其对“戏”与“乐舞”归属问题的思考。 [65]其五是讲唱与乐舞的关联研究,例如王小盾《敦煌文学与唐代讲唱艺术》《原始佛教的音乐及其在中国的影响》等文章总结了原始佛教的特点及其对中原文学、音乐乃至戏曲的影响。[66]

第三,敦煌俗文学与戏曲研究。敦煌俗文学在新世纪仍是颇具争议的话题,但相较于上世纪,“敦煌俗文学是否符合戏曲本体”不再是争论的核心,“宋前俗文学如何戏剧化、在怎样的生态与空间中演进为宋金后的戏曲”成为日趋热烈的话题。关于这一问题,学界形成了两类研究思路。其一是研究俗文学文体对后世戏曲文本的综合影响。例如王小盾以敦煌写本 P.3409、S.3017、S.5996、S.6042 和日本龙谷大学藏本的《行路难》的说唱体式为例,认为《行路难》不仅在唐代有稳定的曲体,民间说唱也影响了其说唱方式。[67]再如,喻忠杰讨论了在说唱艺人口耳传承的过程中变文文体的定型与佛传类变文对后世戏曲文本的综合影响。[68]二是研究唐时杂剧与宋金杂剧之间的传承关系。“杂剧”在唐时已经存在,其名最早见于中唐,但宋前杂剧的概念与性质一直存在争议。有研究认为,魏晋以来的剧谈之风与诙谐的话语冲突滋养了杂剧的形成,促使俳优滑稽从说白和伎艺性的表演发展为真正的“剧”,通过唐人文献对这一概念的明确记载,可以将杂剧的产生时间提前至中唐。[69]但亦有研究认为,唐代杂剧仅是有名无实的存在,滑稽戏与歌舞戏共享杂剧之名,与宋以后的杂剧有所区别。[70]部分研究认为 S.2440v 与 P.3128 等写卷是杂剧脚本。[71]换言之,宋后杂剧是否存在于唐代、唐代杂剧呈现出怎样的形态、敦煌写卷中一批特殊的韵文文本是否为杂剧脚本,是学界在戏曲研究中关注的新话题。

第四,在变文与歌辞研究上,新世纪的学界接续前人成果,在新材料不断公布于世的基础上,从多方面探讨了变文的价值,包括文献抄录背景研究、内容补校、文献的性质定位、变文定名、叙事与传播研究、变文名物研究、变文与史传关系研究、语言学研究等。而巫鸿、于向东等人关于变相与变文关系的研究也对研究“图像—文学—表演”的空间转换提供了一定的启示。 [72]特别是在文献性质研究上,围绕写卷是否为剧本的讨论仍在深入进行,即便无法定性文本,亦有研究将目光扩展至写卷和图像的戏曲史意义。其中,目连变文与戏曲史的关系仍是颇具关注度的议题,新世纪的代表性研究有李重申、陆淑绮的《敦煌目连变文与戏曲研究》和喻忠杰的《敦煌因缘与佛教戏剧关系述考》。 [73]

第五,地方戏与本地戏曲史研究。伴随国家对地方戏的支持,敦煌本地戏曲史料整理成为本世纪新的研究趋势。新世纪出版的数部敦煌曲子戏集系统收录了本地曲子戏的剧本、唱腔曲谱、器乐曲牌、戏班与传承人名录、趣闻轶事等资料。[74]除此之外,《中国戏曲志·甘肃卷》《中国曲艺志·甘肃卷》《酒泉戏曲史简编》《酒泉非物质文化遗产》《甘肃戏剧史》《酒泉文学史》《西北民间小戏文化研究》[75]等图书收录了敦煌现当代地方戏相关资料,此前鲜见于世的戏曲文物、口述史料、近现代本地戏班历史等内容得以公之于众,为戏曲的地域研究提供了宝贵的材料。

三、空间延展:敦煌戏曲学的成就与研究展望

敦煌戏曲学滥觞于二十世纪初,从对学术史的溯源可以发现,其研究范式并非局限于单一的剧本探赜与文本推演,而是构建起一个融案头考据、舞台实践与文化阐释于一体的多维学术体系。经过百余年的学术积淀,该领域已取得丰硕成果,也存在广阔的探索空间。未来的研究空间集中在以下几方面:

第一,在石窟的舞台图像研究上,前人研究多集中在断代研究,同一题材、同一形态舞台的跨时代研究有待深入进行。以莫高窟 61 窟《法华经变》中的“火宅喻”图像为例,此图依据《法华经·譬喻品》中《火宅喻》内容绘制,表现有人在火宅中穿长袖表演歌舞的场面。因此,黎蔷认为此图表现了五代时期的戏台演出。[76]但综合莫高窟其它洞窟的《法华经变》看,特别是 419 窟(隋)人字披《法华经》故事画、261 窟(五代)南壁《法华经变》“火宅喻”图像,此类图像是否是戏台还需综合相同题材的图像进行交叉考释。因此,对特定石窟图像内容的判定需要综合考量各朝代石窟,全面厘清图像题材、风格、戏剧学元素的历史脉络。

第二,在宫廷与民间演艺系统的关系中,演艺的流动与跨地域联动有待深入研究。前人成果已开始有意识地结合图文史料比较不同地域演艺的异同与联系,如黎蔷《敦煌遗书与壁画中的佛教戏曲》比较了敦煌文献中的大曲乐谱与陕西鼓乐俗派《坐乐》的结构异同,[77]《五台山佛教乐舞戏曲文化钩沉》通过比较莫高窟五台山图与藏经洞汉藏佛教写本、晋北与晋东南赛戏和队戏等古剧,综合考索了五台山佛教戏曲的发展系统。 [78]齐江对乐亭影戏音乐与敦煌说唱艺术的关系展开讨论。 [79]据前文所述,已有研究回答了诸类音乐机构在隋唐两京中的空间分布以及地方乐营的设置问题,确定唐五代京城与敦煌地区均存在教坊、乐营与“衙前乐部”等机构。因此,在机构的流动上,中古时期宫廷与中央音乐机构如何与敦煌地区产生地域空间、文化空间、审美空间上的互动?中央教坊、地方教坊与寺院设乐之间存在何种联系?“乐营”的存在证明唐五代地方演艺系统中存有与中央教坊功能相同的机构,[80]彼时敦煌(沙州)地区又存在俳优演出,综合以上三项,中古时期地方与中央的俳优演出有何关联?而在曲目的流动上,前人研究已经明确,中央与其它地区音声机构所承担的演出曲目在中晚唐后亦存在于敦煌地区,那么这些曲目如何流传至此地?宫廷礼仪用乐如何演化为民间俗乐?四方散乐又如何由地方进入两京与宫廷?回答上述问题,需要再次回到敦煌音乐作品的物质空间、审美空间与文化空间的互动问题中寻找答案。

第三,在学科互动上,宋前乐舞、戏剧、讲唱之间的界限与关系仍需给予更为明确的结论。以唐大曲与戏剧的关系为例。前人研究已经明确指出戏剧与歌舞大曲是迥然不同的存在,但二者间也存在着演进史中的影响关系。如王小盾在《唐大曲及其基本结构类型》中认为,P.3808 的敦煌曲谱并非大曲,敦煌文献中的部分曲子和大曲有明确区别。[81]再以乐舞和百戏的关系为例。纵向考量各朝乐舞文物与图像可知,乐舞与百戏存有演艺空间上的交互关系,但从敦煌石窟图像看,二者都是独立呈现的,证明在唐五代时人观念中的乐舞与百戏有明确的区别。百戏、俳优、杂技,以及唐人史料中语焉不详的“杂剧”究竟为何物?面对上述问题,本文认为,诸多演艺与“戏”的关系仍需在“戏”之本体范畴内审慎展开。理论层面上清晰的判定标准能够在坚守戏曲艺术本质的基础上甄别演艺门类,对较为复杂的演出图像进行更为准确的释读,避免因概念的泛化消解戏之为“戏”的审美价值。

第四,演艺的商业化问题。先秦时已存在的俳优百戏、唐宋教坊曲、先唐唱诵与唐代讲唱等,之所以能以各自的方式进入后世戏曲,与表演的商业化有密切关联,这种商业性在唐时初具端倪,至宋代成为时人笔下的生活常态。从勾栏瓦舍到现代戏曲演出,商业市场与“观—演”生态始终是推动戏曲发展与革新的动能。前人已有部分研究成果从案头文本层面研究敦煌曲子词中的商业文化因素。[82]在曲子词以外,敦煌经济、社会文书记录了地方丰富的社会生活图景。无论是传世文献对演艺空间的宏观书写,还是出土文献与文物对演艺空间的微观书写,演艺生态关涉到宗教祭祀仪式如何进入娱乐性演出、推动戏曲演进的问题,关涉到宋前戏剧生态与宋元后戏曲的繁荣问题。敦煌石窟图像与社会经济文献中的节庆习俗、民间礼仪、寺院音声活动经营等相关内容为解决这一问题提供了丰富信息,也亟待戏曲史研究的重新考量。

第五,文献利用问题。在宋前戏剧研究中,所引史料以官修史书与唐人笔记为主,而隋唐时类书使用较少。经笔者检索,《北堂书钞》《初学记》《白孔六帖》《艺文类聚》《册府元龟》等类书中的演艺相关史料极少经学界使用。[83]前人研究中,黎国韬的《“早期戏剧史料”新探——以隋唐至两宋类书为中心》[84]以概要形式统计并列举了隋唐至两宋类书中的早期戏剧史料,而文本细读与分析仍有待研究者接续。笔者在时间维度初步考量各朝类书对散乐、百戏、俳优的记载,发现《白孔六帖》后的唐人类书对“杂戏”的记录愈发清晰、完整,“杂戏”“歌”“乐”出现了愈发明确的分门别类现象,也意味着时人演出观念的演进。因此,类书亦是研究戏曲演进史与观念史的重要文献,不应因其二次抄录的性质而被忽视。

第六,剧场学视野下的演艺舞台与场域研究亦是值得关注的问题。寺院演艺在北朝时已存在于时人笔下,《洛阳伽蓝记》记载了寺院上演音乐、百戏、角抵的盛况,如景乐寺的百戏幻术“召诸音乐,逞伎寺内。奇禽怪兽,舞抃殿庭。飞空幻惑,世所未睹;异端奇术,总萃其中……自建义已后,京师频有大兵,此戏遂隐也”[85],景明寺“梵乐法音,聒动天地。百戏腾骧,所在骈比”[86],禅虚寺“有羽林马僧相善角觝戏……帝亦观戏在楼,恒令二人对为角戏”[87]。隋唐时敦煌地区的寺院也存在音声活动。前人通过写本文献中的“音声”活动,从乐工角度研究了寺院音声人的职责,厘清了僧众与音声人的分工。但在地域空间上,本文提出如下设问:同时存在于唐五代传世史料中的“戏场”“道场”“变场”有何区别?这些场所是否均有演艺活动?其演艺空间如何?壁画中的乐舞百戏场所与文献所载的演出场所之间有无对应关系?对于上述问题,演艺空间的释名及其指称上的变异、地域空间布局、演艺空间形态与戏拟特征仍有众多阐释空间。

结语

综上所述,敦煌戏曲研究根植于敦煌学研究,其核心材料依托敦煌藏经洞文献所见俗文学写本与中古时期的演艺史料,并与敦煌石窟图像形成双向互动的关系。敦煌学研究也为戏曲研究提供了跨学科、跨媒介的学术视野,为审慎对待中国早期戏剧史的史料缺漏与学术争议提供了从材料、方法至视野的范式依据。而对敦煌戏曲史乃至当代敦煌戏曲的考量,亦有助于明晰中国“前戏曲”时代的戏剧形态与演艺生态,以此补益于中国早期戏剧史研究。

作为汉唐两宋时期的交通文化枢纽,敦煌及其演艺史料所呈现的跨文化、跨学科生态、演艺的空间生态至今是极具探索价值的领域。无论是结合敦煌图文史料进行宋前戏剧考古与宋金后的戏曲考辨,还是关于近现代地方戏的研究,始终需要确立戏曲本体基础上的研究体系。新世纪的研究成果呈现出关注戏曲本体、以戏曲本体论切入敦煌文献与图像研究的趋势,百余年研究的“柳暗花明”亦在于这种戏曲本体论意识的觉醒。一方面,厘定宋前戏剧与散乐百戏的区别、宫廷与民间歌舞戏的联系、演艺的商业化、地域与场域空间的交互等问题,都需要围绕戏曲自身建立学理框架;另一方面,在对其物质空间的探讨以外,演艺研究亦需要寻找扮演角色、现场演出时所建构的精神与想象空间,以及多元文明交融背景下的演艺图景。因此,确立戏曲本体体系不仅在于关注其形态与指涉问题、厘清“戏、乐、舞、讲唱”的区别,亦在于挖掘其在所处时代的“空间性”“在场性”与“功能性”,在审慎考证史料的基础上还原中古时期敦煌地区演艺的基本形态,进而观照它与整个时代文化精神、文化环境以及当代文化视野之间的关系。

作者介绍:张越,艺术学博士,敦煌研究院考古研究所馆员;主要研究方向:敦煌艺术、戏剧史论。

基金项目:甘肃省文物局“甘肃省文物保护和科学技术研究”课题“唐五代敦煌音乐机构空间互动研究”(GSWW202413)。

注释:

[1]本文所用的“戏曲”与“戏剧”涉及到中国戏剧史中争议颇多的概念界定问题。目前最早使用“戏曲”的文献有二,其一是元代陶宗仪《南村辍耕录》,其二是宋末元初刘埙《水云村稿》。“戏剧”一词最早见于唐人文献,包括杜牧诗《西江怀古》与杜光庭《仙传拾遗》等,故本文使用“戏剧”一词指代宋前百戏、杂戏、杂剧等演艺,使用“戏曲”一词指代宋元及其之后的戏曲演出活动和宏观层面上的戏曲研究学术史与学科史。

[2]“敦煌戏曲学”这一概念由北京大学顾春芳教授提出。她指出,在百年敦煌学的研究中,始终贯穿着一条从词曲到演艺、从图像到文化的戏曲学研究脉络,并已积累了丰硕的成果。这一学科构想,旨在将散落于敦煌文献、壁画、文化中的戏曲元素进行体系化研究。这一学科研究的基础,一方面植根于敦煌文书中的曲辞、变文等说唱文本,可以揭示叙事文学与音乐、表演结合的早期形态;另一方面则依赖于敦煌壁画中各个朝代的乐舞图像、百戏场景以及舞台形制描绘,为复原中古时期的演出风貌、服饰道具、观演空间提供了可靠的视觉证据。“敦煌戏曲学”是以戏剧本体论为美学基准,跨越文学、剧场学、图像学、考古学与民俗学等多个领域,力求通过对文献与图像的互证,考察敦煌中古时期的戏曲形态与生态,重现隋唐五代宋初丝绸之路上鲜活的戏剧生态,从而为构建更加完整的中华戏剧史谱系提供了重要内容与理论支撑。

[3]顾春芳:《戏剧学导论》,广西师范大学出版社 2020 年版,第 123 页。

[4]王仁俊:《敦煌石室真迹录》,国粹堂 1909 年石印本。

[5]罗振玉:《敦煌石室遗书》,诵芬室 1909 年排印本。

[6]罗振玉:《鸣沙石室佚书》,上虞罗氏 1913 年版。

[7]罗振玉:《敦煌零拾》,上虞罗氏 1924 年版。

[8]王国维:《敦煌发见唐朝之通俗诗及通俗小说》,《东方杂志》1920 年第 17 卷第 8 号。

[9]徐嘉瑞:《敦煌发见佛曲俗文时代之推定》,《文学周报》1925 年第 199 期;向达:《龟兹苏祗婆琵琶七调考原》,《学衡》1926 年第 54 期;郑振铎:《佛曲叙录》,《小说月报》1927—1928 年第 17 卷号外《中国文学研究(下)》。

[10]向达:《论唐代佛曲》,《小说月报》1929 年第 10 期。

[11]刘复:《敦煌掇琐》,中央研究院历史语言研究所 1925 年版。

[12]陈寅恪《敦煌本维摩诘经文殊师利问疾品演义跋》最初发表于 1930 年 5 月《国立中央研究院历史语言研究所集刊》第 2 本第 1 分册,又刊于《海潮音》12 卷 11 号;《有相夫人生天因缘曲跋》载《国学论丛》1927 年第 1 卷第 2 号;《须达起精舍因缘曲跋》载《国学论丛》1928 年第 1 卷第 4 号。

[13]陈垣:《敦煌劫馀录》,中央研究院历史语言研究所 1931 年版。

[14]许国霖:《敦煌石室写经题记与敦煌杂录》,商务印书馆 1937 年版。

[15]罗振玉:《云谣集杂曲子》,《敦煌零拾》,上虞罗氏 1924 年版;朱孝臧:《云谣集》,《彊村丛书》归安朱氏 1922 年版;刘复:《敦煌掇琐》,中央研究院历史语言研究所 1925 年版。

[16]王国维:《唐写本〈云谣集杂曲子〉跋》,原载于《观堂集林》,现见于中华书局 1959 年版,第 4 册第 21卷,第 1022 页。

[17]郑振铎:《云谣集杂曲子目录》,《世界文库(六)》,生活书店 1935 年版,第 2273-2282 页。

[18]冒广生:《新校云谣集杂曲子(彊村遗书本)》《新校云谣集杂曲子发凡》,《同声月刊》1941 年第 9 期。

[19]张尔田:《与龙榆生论云谣集书》,《同声月刊》1941 年第 11 期。

[20]唐圭璋:《云谣集杂曲子校释》,《中央大学文史哲季刊》1943 年第 1 期。

[21]胡适:《胡适校敦煌唐写本神会和尚遗集》,上海亚东图书馆 1930 年版。

[22]两篇文章为《新校定的敦煌写本神会和尚遗著两种》和《神会和尚语录的第三个敦煌写本〈南阳和尚问答杂征义〉(刘澄集)》。参见胡适《20 世纪佛学经典文库:胡适卷》,武汉大学出版社 2008 年版,第 260-313 页。

[23]王重民:《敦煌曲子词集》,商务印书馆 1950 年版。

[24]任二北:《敦煌曲初探》,上海文艺联合出版社 1954 年版;《敦煌曲校录》,上海文艺联合出版社 1955 年版;《敦煌歌辞总编》,上海古籍出版社 1987 年版;任中敏、王昆吾:《隋唐五代燕乐杂言歌辞集》,巴蜀书社 1990 年版。

[25]项楚:《敦煌歌辞总编匡补》,巴蜀书社 2000 年版。

[26]林玫仪:《敦煌曲子词校证初编》,东大图书公司 1986 年版;饶宗颐:《敦煌曲续论》,新文丰出版公司1996 年版;高国藩:《敦煌曲子词欣赏》,南京大学出版社 1989 年版;高国藩:《敦煌曲子词欣赏续集》,南京大学出版社 1992 年版;张剑:《敦煌曲子词百首译注》,敦煌文艺出版社 1991 年版;吴肃森:《敦煌歌辞选注》,辽宁人民出版社 1991 年版;伏俊琏:《敦煌赋校注》,甘肃人民出版社 1994 年版。

[27]最早使用“变文”之名者尚有争议,郑振铎在 1932 年的《插图本中国文学史》中提及:“‘变文’的名称到了最近,因了几种重要的首尾完备的‘变文’写本的发现,方才确定。”(郑振铎:《插图本中国文学史》,北平朴社出版部 1932 年版,第 590 页)可知“变文”的确立是伴随着同名写卷的公布而确定的,而非特定学者命名。郑振铎与胡适较早使用此名。

[28][美]梅维恒著,杨继东、陈引驰译:《唐代变文》,中西书局 2011 年版,第 44-89 页。

[29]任中敏:《唐戏弄》,凤凰出版社 2013 年版,第 617-618 页;李正宇:《晚唐敦煌本〈释迦因缘剧本〉试探》,《敦煌研究》1987 年第 1 期。

[30]席臻贯:《古丝路音乐暨敦煌舞谱研究》,敦煌文艺出版社 1992 年版,第 33 页。

[31]欧阳友徽:《敦煌 S.24407 写卷是歌舞戏脚本》,《西域研究》1991 年第 3 期。

[32]曲金良:《敦煌写本 S.24407 原卷考辨——兼及《晚唐敦煌本〈释迦因缘剧本〉试探》的商榷》,《敦煌研究》1989 年第 3 期。

[33]刘瑞明:《S.24407 号文书以“剧本”定性拟名之质疑》,《敦煌学辑刊》1990 年第 1 期,第 93-99 页。

[34]邵茗生:《汉晋六朝之散乐百戏:汉唐以来散乐百戏考》,《剧学月刊》1933 年第 9 期;夏应域:《隋唐时之百戏》,《天津益世报》(戏剧与电影)1934 年第 64 期。

[35]杨荫深:《唐代的游艺》,《学林》1941 年第 4 期。

[36]任二北:《唐戏述要》,《文学遗产增刊(第一辑)》,作家出版社 1955 年版,第 215-225 页;任二北:《唐代能有杂剧吗?》,《四川大学学报》(哲学社会科学版)1956 年第 2 期;任中敏:《唐戏弄》,凤凰出版社 2013 年版。

[37]常任侠:《隋唐的舞蹈》,《人民日报》1962 年 1 月 7 日第 4 版。

[38]庄壮:《敦煌石窟音乐》,甘肃人民出版社 1984 年版。

[39]席臻贯:《敦煌古乐——敦煌乐谱新译》,敦煌文艺出版社 1992 年版。

[40]牛龙菲:《敦煌壁画乐史资料总录与研究》,敦煌文艺出版社 1996 年版。

[41]姜伯勤:《敦煌艺术宗教与礼乐文明》,中国社会科学出版社 1996 年版。

[42]顾春芳:《戏剧学导论》,广西师范大学出版社 2020 年版,第 123 页。

[43]康保成:《韩愈〈送穷文〉与驱傩、祀灶风俗》,《中山大学学报》(社会科学版)1993 年第 3 期。

[44]康保成:《〈宋元戏曲史〉百年祭——王国维中国戏剧起源于巫觋说发微》,《学术研究》2014 年第 10 期。

[45]黎国韬、武振宇:《试答“唐戏百问”》,《剧论》第三辑,第 1-54 页。

[46]黎国韬:《侲子考》,《民族艺术》2010 年第 2 期。

[47][日]田仲一成著,布和译:《中国祭祀戏剧研究》,北京大学出版社 2008 年版,第 13-15 页。

[48]康保成:《灯节与佛教关系新探》,《民俗研究》2008 年第 3 期。

[49]李正宇:《敦煌傩散论》,《敦煌研究》,1993 年第 2 期。

[50]李明德:《敦煌近代寺庙、庙会及民俗信仰》,谢生保主编《敦煌民俗研究》,甘肃人民出版社 1995 年版,第 327—357 页。

[51]高国藩:《敦煌俗文化学》,上海三联书店 1999 年版。

[52]山西师范大学戏典文物研究所编:《宋金元戏曲文物图论》,山西人民出版社 1987 年版。

[53]颜伟:《中华戏曲志要·戏曲文物卷》,高等教育出版社 2022 年版。

[54]康保成:《“瓦舍”“勾栏”新解》,《文学遗产》1999 年第 5 期。

[55]孟凡玉:《丝绸之路乐舞艺术研究资料汇编:敦煌卷》,中央民族大学出版社 2019 年版。

[56]姜伯勤:《敦煌音声人略论》,《敦煌研究》1988 年第 4 期。

[57]关也维:《敦煌古谱的猜想》,《音乐研究》1989 年第 2 期。

[58]李正宇:《归义军乐营的结构与配置》,《敦煌研究》2000 年第 3 期;《沙州归义军乐营及其职事》,《敦煌吐鲁番研究》(第五卷),北京大学出版社 2000 年版,第 217-226 页。

[59]刘进宝:《唐五代“音声人”论略》,《南京师范大学学报》(社会科学版)2006 年第 2 期;《归义军时期的“音声人”》,《敦煌研究》2006 年第 1 期。

[60]刘飖:《释宝唱著述考》,《古籍整理研究学刊》2011 年第 3 期。

[61]黎国韬:《敦煌遗书若干戏剧乐舞问题考》,《敦煌研究》2010 年第 5 期;《敦煌遗书戏剧乐舞问题补述》,《敦煌研究》2012 年第 1 期;《敦煌遗书戏剧乐舞问题再补述》,《艺苑》2015 年第 4 期。

[62]任中敏:《唐声诗》,凤凰出版社 2013 年版。

[63]席臻贯:《敦煌古乐——敦煌乐谱新译》,敦煌文艺出版社 1992 年版;柴剑虹:《敦煌舞谱的整理与分析》(一、二),《敦煌研究》1987 年第 4 期、1988 年第 1 期; 陈应时:《敦煌乐谱新解》《敦煌乐谱新解(续)》,《音乐艺术》1988 年第 1 期、1988 年第 2 期。

[64]王克芬:《中国舞蹈发展史》,上海人民出版社 1989 年版;董锡玖、刘峻骧:《中国舞蹈艺术史图鉴》,湖南教育出版社 1997 年版。

[65]王子初:《中国音乐考古学》,福建教育出版社

2003 年版。

[66]王小盾:《敦煌文学与唐代讲唱艺术》,《中国社会科学》1994 年第 3 期;《原始佛教的音乐及其在中国的影响》,《中国社会科学》1999 年第 2 期。

[67]王小盾:《〈行路难〉与魏晋南北朝的说唱艺术》,《清华大学学报》(哲学社会科学版)2002 年第 6 期。

[68]喻忠杰:《沿袭与新变:变文文体对后世戏剧文本生成的影响》,《敦煌学辑刊》2024 年第 2 期,第 68-79 页。

[69]刘晓明:《杂剧起源新论》,《中国社会科学》2000 年第 3 期。

[70]宋俊华:《宋金杂剧服饰研究》,《戏曲艺术》2004 年第 4 期。

[71]李小荣:《敦煌杂剧小考》,《社会科学研究》2001 年第 3 期。

[72][美]巫鸿:《何为变相?—兼论敦煌艺术与敦煌文学的关系》,《礼仪中的美术:巫鸿中国古代美术史文编》,生活·读书·新知三联书店 2005 年版,第 346-404 页;于向东:《敦煌变相与变文研究》,甘肃教育出版社 2009 年版。

[73]李重申、陆淑绮:《敦煌目连变文与戏曲研究》,《敦煌研究》2000 年第 3 期;喻忠杰:《敦煌因缘与佛教戏剧关系述考》,《敦煌学辑刊》2017 年第 1 期。

[74]王正强:《甘肃曲子戏》,敦煌文艺出版社 2009 年版;敦煌市文化馆编:《敦煌曲子戏》,甘肃人民美术出版社 2010 年版;陈钰:《敦煌曲子戏》,中国戏剧出版社 2012 年版;高德祥:《敦煌民间音乐文化集成:曲子戏卷》,安徽文艺出版社 2024 年版。

[75]中国戏曲志编辑委员会:《中国戏曲志:甘肃卷》,中国 ISBN 中心 1995 年版;中国曲艺志全国编辑委员会:《中国曲艺志:甘肃卷》,中国 ISBN 中心 2008 年版;酒泉市文化广播影视新闻出版局编:《酒泉非物质文化遗产》,甘肃文化出版社 2014 年版;王正强著:《甘肃戏剧史》,甘肃文化出版社 2016 年版;朱建军主编:《酒泉戏曲史简编》,甘肃文化出版社 2017 年版;贾其全主编、孙占鳌等编:《酒泉文学史》,甘肃人民出版社 2015 版;王萍编著:《西北民间小戏文化研究》, 甘肃人民出版社

2018 年版。

[76]黎蔷:《敦煌遗书与壁画中的佛教戏曲》,《西域戏剧与戏剧的发生》,新疆人民出版社 1992 年版,第 94 页。

[77]黎蔷:《敦煌遗书与壁画中的佛教戏曲》,《西域戏剧与戏剧的发生》,第 87-103 页。

[78]黎蔷:《五台山佛教乐舞戏曲文化钩沉》,《敦煌研究》2002 年第 2 期。

[79]齐江:《追寻盛唐古乐的千年回响——乐亭影戏音乐与敦煌说唱音乐的关系探赜》,《人民音乐》2015 年第 8 期。

[80]《新唐书》记载:“府县教坊音乐迭进。”欧阳修、宋祁撰:《新唐书》,中华书局 1975 年版,第 4561 页。

[81]王小盾:《唐大曲及其基本结构类型》,《中国音乐学》1988 年第 2 期。

[82]王晓骊:《唐宋词与商业文化关系研究》,中国社会科学出版社 2004 年版。

[83]例如,《北堂书钞》记载了“侏儒戏前”“置酒优人管弦”“俳儿作单衣”“木上俳舞”“俳优在前”等内容,是揭示唐前百戏演出形态与生态的重要参考。《初学记》记载梁人庾肩吾《三日侍兰亭曲水宴诗》中有“百戏俱临水,千钟共逐流”,提供了曲水流觞习俗中的百戏演出信息。《白孔六帖》“杂戏”一条收录了“百戏”“角抵”“乞寒夷戏”,并且将杂戏与歌、乐进行了明确的归类。

[84]黎国韬:《“早期戏剧史料”新探——以隋唐至两宋类书为中心》,《文学遗产》2019 年第 5 期。

[85]尚荣译注:《洛阳伽蓝记》,中华书局 2012 年版,第 70-71 页。

[86]尚荣译注:《洛阳伽蓝记》,第 196 页。

[87]尚荣译注:《洛阳伽蓝记》,第 339 页。

制作:党晓洁

责编:李   菁

审核:吴新苗 赵建新

欢迎关注《戏曲艺术》杂志

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-28 07:09:56 HTTP/2.0 GET : https://f.sjds.net/a/481171.html
  2. 运行时间 : 0.183067s [ 吞吐率:5.46req/s ] 内存消耗:4,367.60kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=4e4da16cff6ce30cf49acf5e13fb9dc7
  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.000689s ] mysql:host=127.0.0.1;port=3306;dbname=f_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000779s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000311s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000278s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000478s ]
  6. SELECT * FROM `set` [ RunTime:0.000228s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000489s ]
  8. SELECT * FROM `article` WHERE `id` = 481171 LIMIT 1 [ RunTime:0.000609s ]
  9. UPDATE `article` SET `lasttime` = 1782601796 WHERE `id` = 481171 [ RunTime:0.021590s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000410s ]
  11. SELECT * FROM `article` WHERE `id` < 481171 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000565s ]
  12. SELECT * FROM `article` WHERE `id` > 481171 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.004821s ]
  13. SELECT * FROM `article` WHERE `id` < 481171 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005363s ]
  14. SELECT * FROM `article` WHERE `id` < 481171 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000668s ]
  15. SELECT * FROM `article` WHERE `id` < 481171 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004066s ]
0.185410s