跳到内容
当前位置:首页>戏曲>戏剧与戏曲

戏剧与戏曲

  • 2026-09-25 07:22:13
戏剧与戏曲
一把问题摆在眼前

“戏曲”和“戏剧”,只差一个字。可这两个词指的不是一件事。

先说清关系:戏曲是戏剧的一种。戏剧是总名——活人当场扮演一个故事,演给活人看,演员、故事、场子、观众,四样凑齐,就是戏。话剧、歌剧、舞剧、音乐剧、哑剧、木偶戏、皮影戏,都在这总名底下;中国的戏曲,也在这总名底下。

戏剧是一家,戏曲是其中一支(自制示意)

关系说完了,问题才出来。

中国这片地上,两千多年里长出来的戏,全都长成了戏曲。一种都不例外。从宋杂剧到南戏,从元杂剧到明清传奇,从昆曲到梆子皮黄,从各地方的乱弹到今天的京剧、赣剧、采茶戏,一路看下来,全是戏曲。

另一条路,一百多年前才从外面被人带回来。

所以今天这一篇要谈的,是三个想不通的问题:

其一,戏曲既然是戏剧的一种,为什么中国只长出了这一种?两千年里,别的路一次都没走通?

其二,那条叫“戏剧”的路,为什么它不能自己长出来,非要等留学生在外国演了一出戏,再带回来?

其三,这一条最实在:话剧可以没有音乐,从头到尾一句唱都没有,照样是好戏;而戏曲一刻也离不开音乐。为什么?

这三个问题,说到底是一个问题:戏长成什么样,不取决于聪明的程度,取决于它脚下的土。

二先把两个名字的来路说清

讲区别之前,得先看看这两个名字是怎么来的。名字里藏着人们的看法;看法一变,名字就跟着变。

“戏曲”这个词,出现得很早,但意思不是今天这个意思。

它最早见于宋末元初的《水云村稿》,说的是南宋温州一带民间唱的那种戏,叫“永嘉戏曲”。刘壎在《词人吴用章传》里记了一句:至咸淳年间,“永嘉戏曲出,泼少年化之”。那时候,“戏曲”就是南戏的名,是某一地某一种戏的名,不是一个大类。

后来这个词慢慢长大。唱戏的名目越来越多,南北各地各有各的调子,人们需要一个词把它们统起来。到王国维写《宋元戏曲考》,“戏曲”就成了中国传统戏剧的总称,从宋杂剧到京剧,一路都归它管。

顺带说一句王国维给戏曲下的定义。他有一句话,被后人引了上百年:戏曲者,谓以歌舞演故事也。这句话的分量在于它够准:歌舞是形式,故事是内容,两头都在,才算戏曲。

“戏剧”这个词,走的是另一条路。

它在中国本土出现得晚。明代以后,文人才把南边的“戏”(戏文)和北边的“剧”(杂剧)合起来叫“戏剧”,是“南戏北剧”的合称。这个词生下来就带着南北两地的影子。

到了近代,它被借去对译西方的 drama 和 theatre;再往后,在现代汉语里,它又常常跟“戏曲”对举,专门指话剧那一路。

同一个词,三次转身。先是南北的合称,再是西文的对译,最后成了“戏曲”的邻居。

这里还有一层要说明:在很长的历史里,中国人并不用“戏剧”这个词来称呼自己的戏。宋人叫“伎艺”“乐色”,元明人按戏的样子叫“杂剧”“戏文”“传奇”,后来各地按唱法叫“腔”“调”:弋阳腔、海盐腔、梆子腔、皮黄。名字跟着形态走,形态一变,名字就换一茬。

所以谈“戏曲与戏剧”,最先要问的不是它们像不像,而是:我手里这把尺子,是哪一把?

 两个名字的旅程(自制示意)

用明清人的尺子,“戏”就是戏;用王国维的尺子,“戏曲”是中国戏剧的总称;用今天话剧圈的尺子,“戏剧”又成了话剧的别称。三把尺子量同一件事,量出来的不是三件事,是三种看法。

三分水岭:1907年,还有那个迟到了二十一年的名字

现在说那条分界线:1907年。

那一年,一批在日本留学的中国学生组了个团体,叫春柳社,在东京演了一出《黑奴吁天录》。一般认为,后来叫作“话剧”的那一路戏,最早的实践就落在这里。 

春柳社在东京的演出剧照(1907年·演员皆着西式便装)

另有一说:早在1899年,上海的教会学校圣约翰书院就在圣诞节的演剧活动里演过新式戏。两说并存,但通行的叙事仍以1907年为起点,2007年中国的演艺界办过一次“中国话剧一百年”的纪念,用的是这个年份。

这件事为什么值得记住?因为他们演的不是老戏。

不唱曲牌,不穿戏装,不踩锣鼓点,用日常的话说台词,演一个外国故事。一群留学生,把一种完全不同的演戏方式搬上了台。

他们心里装的不只是戏。那几年,社会上有一种主张:要接受西洋的新思想,要开民智、新民德。戏被看成一件好用的工具:台上演什么,台下的人就学什么。演《黑奴吁天录》这样的戏,为的就是让人看见“人可以有别的活法”。

所以那时候演新戏的,多是读书人,是有话要说的人。这跟中国戏两千年的来路完全两样:过去的戏,是戏班唱的,为的是台下人听个热闹;新戏,是读书人演的,为的是台下人想点事情。

不过,这门新东西那时候还不叫话剧。

它先叫“新剧”,再叫“文明戏”。文明戏从1910年代初兴起来,身上还带着说唱和戏曲的影子:唱两句、说一段,中间还夹着插科打诨;它也通过日本的新派剧间接学到了些西方的演法。它不太依定本,演员在台上即兴发挥,靠的是机锋和默契。1917年前后最盛,1920年代中期就渐衰了。

直到1928年,洪深才提出用“话剧”这个名字,把这一类新式戏剧从“新剧”里分出来。第二年,他写了一篇《从中国的“新戏”说到“话剧”》,把这笔账算清楚。洪深自己是中国最早专门出国学戏剧的人,1924年他改译并导演《少奶奶的扇子》,把西方的现代话剧排法带进了中国剧场。

也就是说,这门戏从1907年进中国,到有正式的名字,中间隔了二十一年。

我总觉得这二十一年很有意思:舶来的东西,往往是先有实物,后有名字。名字没定的那些年,它是个“说不清的东西”:不像老戏,也还不成新戏;等到有人给它起了名,它才算在这片地上真正安了家。

由此可以说一句:中国的“戏剧”,不是自己长出来的,是走回来的。

四第一个问题:为什么中国只有戏曲

先给一个总的答法:戏的样子,是土决定的。土里有什么,戏就长成什么。中国的土里,歌舞多,说话的“场”少。

这个答法可以分两条路来说。

第一条路,从文化说。

中国人的“演故事”,天生带着歌舞。诗言志,歌咏言,诗、乐、舞本来就在一处,不是后来才配到一起的。上古祭祀里,人是又唱又舞的;唐代的踏摇娘、兰陵王,是又唱又做的;到了宋元,说唱里抱着弦子唱故事,更是家常。在这条线上,“讲故事”这件事,本来就该唱起来、舞起来。

我们中国人看戏,还认一个“假”字。台上鞭子当马、桨当船,两句唱过去十年,四个龙套就是千军万马;观众点头,看得下去。这套审美里,戏不必像真事,但必须唱得动人。所以唱是必须的,写实反而不必。

第二条路,从历史说。这一路要分五层看。

第一层,讲故事这件事早有人占了。史传、说唱(讲史、变文、诸宫调)把“说故事”的活儿担了去。等到戏要讲故事的时候,它借的不是对话,是有腔有调的叙事。戏是从唱里长出来的,不是从说话里长出来的。

第二层,看戏的地方不一样。古希腊的剧场是城邦公民聚在一处的公共空间,几千人坐在山坡上,看的是人的行动与辩论。行动和说话,是那里的核心。中国的戏台,立在庙会上、勾栏里、堂会中:庙会是酬神,勾栏是买票消遣,堂会是主人家办喜事。轴心是“热闹”和“人情”,不是“辩论”。

 图2 旧时戏台前的满座(老照片)

第三层,语言不一样。汉语一个字一个音,还有声调。这件事不光影响说话,还决定了“能不能唱”。这一条最要紧,放到下一节细讲。

第四层,社会结构不一样。中国没有对应古希腊的公民戏剧,也没有对应中世纪欧洲的全民宗教剧。戏在中国,多数时候是节令的、市井的、私家的,从来不是全城公民的集体仪式。

第五层,制度和市场也不一样。中国的戏,靠班社活着:一个戏班有班主、有台柱子、有行当、有箱倌;学戏靠科班;挣钱靠堂会、庙会、戏园。这套经济结构,把戏的形态固定下来了:要能唱、要能连台演、要有名角能挂头牌。戏要活,先得卖得出去。

所以我的理解是:文化与历史不是两种说法各说一半,而是一个给了种子,一个掐掉了别的枝。文化说回答“为什么能长成歌舞”,历史说回答“为什么只长成歌舞”。

这里还有一句话要说清:所谓“中国没有戏剧”,严格讲,是中国没有“用对话来讨论公共问题”的那一路戏。这是个缺项,还是一段不同的选择?我不给死结论。但有一点可以肯定:中国人在另一条路上,走得非常远。

五第三个问题:音乐

现在讲那条分界:音乐。

先看西边。

西方戏剧原本也有音乐,而且很重。古希腊的悲剧里有歌队、有乐师,唱与舞是戏的一部分;中世纪的宗教剧也离不开唱。真正分家是后来的事:1600年前后,歌剧在意大利的佛罗伦萨从“古希腊戏剧的剧场音乐”里独立出来,成了一门单独的戏。从那以后,西方戏剧一路分工:歌剧管唱,舞剧管跳,话剧管说。话剧把音乐请到了台外,靠自己的一张嘴立住:自然的对话、真实的服装布景、清楚的幕和场。到十九世纪写实主义登台,舞台上恨不得连窗外的雨声都不加音乐。

 图3 古希腊剧场遗址(这是西方戏剧的来处)

音乐在西方并没有消失,只是搬去了别的屋子。它的第二次回归是音乐剧,那是二十世纪的事。

再看中国。

戏曲里,音乐从来没有离场。而且它不是伴奏,是本体:唱腔是语言的一部分,锣鼓是节奏的骨架,板眼是时间的刻度。把音乐拿掉,剩下的不是一出没有配乐的戏,是一堆立不住的东西。

图4 昆曲《牡丹亭》演出剧照(现代)

为什么能长成这样?这里有一个最实在的证据。

昆曲的唱法,讲一个字。一个字出口,有头、有腹、有尾:音刚出口是头,音拉长了不走声是腹,收回来归入原韵是尾。三截要一一交代干净,一个字才算唱清楚。昆曲唱念用一种通行的读音,叫中州韵;四声各分阴阳,一个字有它固定的腔格;唱的时候依着字音走,这叫“依字行腔”。魏良辅当年改昆山腔,留下的形容是“腔用水磨,拍捱冷板,每度一字,几尽一刻”,一个字能唱那么久,还字字清楚。

一个汉字的字音,可以拉长、可以转折、可以拆开三截而不走样。正因为这样,音乐才能长进语言里头去:一个字,既是意思的单位,也是声音的单位,还是时间的单位。换成拼音文字,字音的走向和音节的结构是另一回事,说话与歌唱的分工也就更清楚。这不是谁高谁低,是两种语言各自开花的样子。

唱在戏里干的活,也是三件。

第一件是抒情:把人物心里的话,放大出来。台上一个人站在那里,一句唱,把他心里翻腾的东西全摊在观众眼前。话剧要说这些,得靠台词一句句铺;戏曲一句唱就到位。

第二件是叙事:一句唱能过去十年,时间和情节在唱里走。戏曲不必搭景、不必换场,一场戏可以在唱里走完十年。观众认这个账:唱到哪儿,戏就到哪儿。

第三件是场面:满台齐唱,气势就起来了。将军出征、众人送别、群情激愤,靠的是声一起往上走,把场子撑住。

还有一件藏在底下的:唱还能换“说话的人”。同一段戏里,前一句是人物在说心里话,后一句是旁人替他评说,再一句是替观众叹气。唱把人称和视角都松开了。话剧要干这些事,得换场景、换人物、加旁白;戏曲一句唱就换过来了。

所以话剧把话说出来就够了,戏曲却非唱不可。因为戏曲要说的不只是“发生了什么”,还有“人心里怎么样”。唱,是把心里那部分放大出来。

一句话可以当这一节的收尾:话剧用说话演故事,戏曲用唱念做打演故事——音乐是戏曲的呼吸。

有人会问:那为什么非要用这么麻烦的办法?话不能好好说吗?

能。但戏台上的“好好说”,和戏台下的“好好说”不是一回事。台下说话是为了把事说清;台上唱,是为了把人心里那点说不清的东西说出来。人真正难受的时候,是不会好好说话的:他会拖长音,会反复,会把一句话唱成三截。戏曲早就发现了这件事,所以它让角色唱。

六第二个问题里的另一半:声、腔、韵、点是怎么长出来的

戏曲的“曲”,不是一天长成的。它一路长过来,靠的是四样东西:声、腔、韵、点。

声,是曲牌。

图5 工尺谱书影(旧时用“上尺工凡六五乙”记唱法)

宋元的说唱留下了大批曲牌,唱赚、诸宫调,各有各的调子。一支一支按规矩排成一套,叫“曲牌联套”;南北各成体系,后来又生出集曲、南北合套这样的做法。这一层是戏曲的“骨架图纸”:什么戏用什么套数,是有定式的。

腔,是各地方言的唱法。

明代有四大声腔:海盐腔、余姚腔、弋阳腔、昆山腔。徐渭在《南词叙录》里把四家的地盘记了下来:弋阳腔“则出于江西,两京、湖南、闽、广用之”;余姚腔出会稽,“常、润、池、太、扬、徐用之”;海盐腔“嘉、湖、温、台用之”;至于昆山腔,那时候“止行于吴中”,还没成大气候。四家并存、各占地盘,这就是明代戏曲的实况。

四家争到嘉靖年间,魏良辅下了十年楼,把昆山腔磨成了“水磨调”;再到梁辰鱼用新腔写《浣纱记》搬上台,昆曲就一路风行起来,独领剧坛近三百年。

另一路是弋阳腔。汤显祖在《宜黄县戏神清源师庙记》里写它:“其节以鼓,其调喧。”也就是节拍靠鼓、调门喧腾。它唱起来一人启口、众人接腔,叫“一唱众和”;还能把通俗的话塞进曲子里滚着唱,叫“滚调”。这一路往下衍成了规模极大的高腔系统,后来还接着梆子、皮黄。老百姓爱听的,多半是这一路。

韵,是押韵的规矩。

图6 《中原音韵》目录页(分十九个韵部)

北曲照着《中原音韵》,分十九个韵部;南曲各用各的方音。到了昆曲,讲中州韵、分阴阳八声,唱功上还立了三绝:字清、腔纯、板正。这三条只有六个字,却是几百年磨出来的标准:字要唱得清,腔要走得纯,板要卡得正。

点,是板眼和锣鼓点。

板眼就是节奏的骨架:散板、流水板,一板一眼,一板三眼,慢曲里还放慢一倍成赠板。锣鼓点是场面的骨头:起霸、走边、开打、亮相,靠的都是锣鼓给的尺寸。戏的呼吸,全在这里。

停下来看个细节:一门戏要改样,最容易见效的地方,往往就是“唱法”。魏良辅改了昆山腔的水磨调,昆曲就接了近三百年的班。为什么改唱法有这么大的威力?因为在这门艺术里,音乐不只是音乐,它是语言和体制的底座。舞台上什么都要靠它定尺寸:字怎么念,人怎么走,场面怎么起落。

也正因为这样,戏曲史上“改腔”从来不只是音乐事件。祝允明当年骂过四大声腔,说它们“杜撰百端,真胡说耳”。文人嫌它土,老百姓偏爱听。骂声里长出来的,正是后来几百年最有生命力的那一路。到清代花部乱弹起来、雅部昆曲让位,走的还是这条逻辑:谁唱得让人爱听,谁就接坛。

这一条线,后几期(明代声腔、昆曲、京剧)还要接着讲。

七藏在里头的机关:字与腔的拉扯

这里还有一个藏在里头的东西,值得单说一节:字与腔的拉扯。

戏曲史上有两种主张,一直在拧着。

一种以字为主,音乐服从字,叫“依字行腔”:字音怎么走,腔就怎么走,为的是让人听懂。

一种以腔为主,字服从音乐,叫“依腔填词”:调子先定,词往上填,为的是让调子好听。

这两条主张,在明代正面撞过一次。

汤显祖重文词,他写戏要的是“意趣神色”,词要好,情要足;沈璟重声律,他讲的是格律,字要合腔,腔要合板。两人各有一批追随者,后人把这场争论叫“汤沈之争”。争到最后,多数人是折中:两头都要,字清腔美,那才是本事。

昆曲的难处,恰恰是它想两头都占:字要清,腔要纯,板要正。字和腔都要到位,这就难了。所以昆曲唱一个字,才要“头、腹、尾”三截都交代清楚。

我读戏曲史,读到这里总要多停一停。

一门艺术往前走的动力,多半不在它最响亮的口号上,而在它内部那处一直拧着的地方。戏曲每一次“改腔”,都是把字与腔重新调一次平衡;调一次,戏就往前走一步。这条弦从明代的汤沈之争,到后来京剧的字与腔,一直绷着,从来没有松开过。

八第三个问题的下半:戏剧在中国,为什么没有发展起来

话剧进来之后,路并不顺。

第一层原因,在它自己身上。文明戏盛极而衰,根子是它太靠人:不依定本,演员在台上即兴,靠的是机锋。名角一走,班子就散;戏没留下本子,也就没法一代代演。一门戏要立住,光靠聪明是不够的,得有一套能传下去的东西:本子、唱腔、行当、规矩。这一点,老戏有,新戏当时还没有。

第二层原因,在外面。1918年,主张新文化的人对旧戏发过很重的议论。《新青年》第四卷第六号出了“易卜生专号”,胡适在上面写了《易卜生主义》,要人学易卜生戏里的娜拉和斯铎曼,“努力把自己铸造成个人”。那一代人对旧戏的批评,是想用新戏换掉老戏。

但批评没能让话剧站住市场。道理很直白:看戏的人进戏园子,听的是唱。这是几十年、几百年养成的习惯,不是几篇文章能改的。

第三层原因,在买卖上。1920到30年代,话剧主要靠学生演剧和职业剧团撑着,南国社、戏剧协社这样的团体,靠人凑、靠热情演。到1949年以后,话剧才真正成体系:出了曹禺的《雷雨》《日出》,出了老舍的《茶馆》,也出了焦菊隐和北京人艺这样把西方导表演方法往中国戏台上搬的人。

 图7 北京人艺《茶馆》演出剧照(现代)

几层原因摆在这里:观众听的是唱,审美习惯改不动;科班和戏班的规矩有惯性,从业人员、剧场、观众都在戏曲那边;演出市场(堂会、戏园、庙会)转的都是戏曲的账。

有一层感想我放在最后:话剧在中国,似乎总需要一个读书人的群体来养:先是留学生,再是学生剧团,后来是院团和大学。戏曲只要有一个戏园子,就能自己活下去,卖票吃饭,一代代传。这也许就是它一直没能成为“全民的戏”的缘由。

不过话说回来:养得苦,不等于长得不好。今天两条路都在。话剧有话剧的观众,戏曲有戏曲的观众,各在各的场子里活着。这段历史,是往后另开一篇的大题目。

九回头看一眼

回到开头那三个问题,把话说到底。

戏曲为什么只有一种?因为土只给了这一种可能。中国的土里有歌舞、有说唱、有声调的语言、有庙台与勾栏。戏从这里长出来,就长成了“以歌舞演故事”。

戏剧为什么不能自己长出来?因为它不是从中国的土里长出来的。它是1907年被人带回来的,二十一年后才有了名字。它要活,得先找到自己的观众,而观众的习惯已经被戏曲养了几百年。

音乐为什么是那道界?因为在中国,音乐长在语言里;在西方,音乐另立门户。一个把话说进音乐里,一个把音乐请到戏台外。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-09-25 17:14:17 HTTP/1.1 GET : http://f.sjds.net/a/490545.html
  2. 运行时间 : 0.072802s [ 吞吐率:13.74req/s ] 内存消耗:4,364.37kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=c30da2cc26d242e94ac1c3d72784a348
  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.000738s ] mysql:host=172.18.0.4;port=3306;dbname=f_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001060s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000513s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000375s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000558s ]
  6. SELECT * FROM `set` [ RunTime:0.000311s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000682s ]
  8. SELECT * FROM `article` WHERE `id` = 490545 LIMIT 1 [ RunTime:0.000436s ]
  9. UPDATE `article` SET `lasttime` = 1790327657 WHERE `id` = 490545 [ RunTime:0.002128s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000354s ]
  11. SELECT * FROM `article` WHERE `id` < 490545 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000446s ]
  12. SELECT * FROM `article` WHERE `id` > 490545 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000374s ]
  13. SELECT * FROM `article` WHERE `id` < 490545 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000610s ]
  14. SELECT * FROM `article` WHERE `id` < 490545 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000541s ]
  15. SELECT * FROM `article` WHERE `id` < 490545 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000659s ]
0.084494s