跳到内容
当前位置:首页>戏曲>郑莉|晚清天津戏曲禁毁下的权力博弈与文化新变

郑莉|晚清天津戏曲禁毁下的权力博弈与文化新变

  • 2026-09-23 13:13:10
郑莉|晚清天津戏曲禁毁下的权力博弈与文化新变

郑莉,天津社会科学院文学与文化研究所教授。

摘   要 晚清天津的戏曲禁毁,是一场由政府、士绅、民间社会及租界势力共同参与的复杂的权力互动。官方禁令虽出于维护风化、整饬治安与启迪民智等多重考量,却因财政利益掣肘、市民文化惯性以及租界“治外法权”的结构性消解而效力大减。而这种强力干预非但没有扼杀地方戏曲的活力,反而在客观上刺激了评剧、卫派梆子等剧种的艺术革新与近代转型,深刻揭示了近代中国社会转型期国家权力在文化治理中的局限性,以及权力、市场与文化惯性三者之间的复杂博弈对城市文化生态演进的重要影响。

关键词 晚清  天津  戏曲禁毁  权力博弈  文化新变

晚清时期的天津,作为北方最重要的工商业城市和通商口岸,凭借其独特的地理位置和半殖民地背景下“九国租界”的城市格局,成为中西文化、新旧势力交汇与碰撞的前沿,本地戏曲的命运也随之发生了深刻的变化。一方面,五方杂处、华洋共居,空前繁荣的市民文化为天津戏曲的发展提供了丰沃的土壤,吸引各地的戏班、名角汇聚于此,形成了百花齐放、兼容并蓄的繁荣景象;另一方面,戏曲因其内容或表演的通俗性而被官方视为有伤社会风化的潜在隐患,成为整顿社会秩序、推行文化治理与风气管控的首要目标。而商业化浪潮在激发戏曲艺术活力的同时,也确实出现了部分剧目为迎合市民趣味而逾越道德边界的现象。于是,一场围绕戏曲“禁”与“演”的复杂博弈在这里拉开帷幕。

一

禁令的理论依据、禁毁内容与

执行主体

晚清天津的戏曲禁毁,往往以维护风化、整饬治安、启迪民智等名目出现,它以告示、章程、禁约等形式为抓手,又依赖地方官、衙役、巡警、士绅、舆论等多重力量推进,形成了一张从台上延伸到台下、从表演内容扩大到观演行为的规训网络。

(一) 禁令的理论依据

1.维持风化,端正社会风气  晚清时期,随着商业化的发展和西方文化思潮的传入,传统的价值体系受到巨大的冲击,“世风日下,人心不古”的普遍忧虑在士大夫阶层中蔓延。他们意识到,城市中大量流行的、充满淫词秽语的通俗戏曲,正在严重地腐蚀着人心,败坏着社会道德,如莲花落(落子)、哈哈腔、蹦蹦戏等民间小戏,“貌则诲淫,词则多亵”,会引诱青少年和深闺女眷的情欲,“溃男女之防”。若不加禁止,必将导致人心日下、风俗日靡,最终危及国家根本。这种道德上的焦虑尤其集中体现在性别秩序上。公共戏园的出现,打破了男女有别的传统性别空间区隔,而男女同台的表演形式更是被视为对男尊女卑的传统性别秩序和纲常伦理的公然颠覆,是社会伦理全面崩坏的可怕预兆。因此,禁毁淫戏,成为净化社会环境、维护纲常伦理、重塑道德秩序的首选手段。而其实质则是统治阶层在面对现代性冲击时的一种保守主义的文化回撤,试图通过对戏曲这种大众娱乐形式进行严格的道德审查来强化对通俗文化的控制,以期在这个新兴的、失序的城市公共空间中,重新确立儒家伦理的权威。

2.整饬治安,防范社会风险  晚清时期的天津作为华北最大的移民城市和商业中心,人口迅速膨胀,社会流动性高,潜在着诸多不稳定因素;而戏园、茶楼这种人员高度聚集的公共娱乐场所,更容易成为各类社会问题的滋生地和矛盾冲突的爆发点,这些场所常与赌博、斗殴、嫖妓等现象联系在一起,被视为藏污纳垢之处,严重威胁着地方的安宁。夜戏的喧嚣,街头说书导致的道路壅塞,亦被视为对城市公共秩序的搅扰。那些讲唱“刀枪剑戟,斧钺钩叉”的评书及弦子书也“未免诲人生事”。而戏园内“男女混坐”则容易引发口角、调戏妇女等事端,增加社会不稳定因素。更有甚者,女伶的兴起竟催生了拐卖人口、逼良为娼等恶性犯罪的发生。

在晚清天津政府眼中,未经审查和控制的戏曲娱乐,如同一个潜藏在城市心脏地带的火药桶,不仅败坏道德,更有随时引爆为现实治安问题的风险。“庚子事变”后,袁世凯在天津推行新政,建立现代警察制度是其中的核心内容之一。而巡警局对戏曲活动的严厉规制,成为城市治理的重要一环,它是将新兴的、鱼龙混杂的城市公共娱乐空间纳入近代警察权力监控网络的重要尝试,其核心目标是维护社会稳定,确保国家权力对城市基层的有效控制。

3.启迪民智,推行启蒙思想 中日甲午战后,亡国灭种的危机感,使救亡图存成为时代最强音。越来越多的知识分子和开明官员意识到,国家的强盛,根本在于国民素质的提升,因此,“启迪民智”成为与“风化改良”并行的另一大社会思潮。在此背景下,拥有最广泛受众的戏曲,被赋予了前所未有的教育功能,被视为开启民智之利器。

进入20世纪,以梁启超为代表的进步知识分子发起戏曲改良运动,批判充满了帝王将相、才子佳人、淫盗乱贼内容的旧戏曲毒害国民思想,是导致国家积贫积弱的文化病根之一;他们倡导创作演出能够激发爱国热情,传播科学思想,塑造新国民性的新戏。这一思想深刻影响了当政的开明官僚和新式知识分子,他们认识到戏曲作为一种大众文化的巨大潜力。因此,禁毁淫戏不再仅仅是出于维护旧道德的消极防御,更包含了为宣扬新思想、新道德的文明新戏扫清道路的积极建设意图。禁旧戏与倡新戏,成了一体两面的文化策略,使戏曲成为真正服务于提升国民素质、塑造现代国民意识的宣传工具,天津的“移风乐会”“戏剧改良社”等组织因此应运而生。

这种动机的转变体现在当时士绅的禀文中,如1905年徐士鉴等在呈请禁戏的禀文中,除沿用“伤风败俗”之类的传统话语外,还特别强调了淫戏对青少年教育的危害:

在读书明理之士,见其淫有淫报,或可藉为惩劝之资。所虑惟蒙养小学堂学生,每逢休息之期,不免有相邀观剧之事,当此血气未定之年,忽睹此男女宣淫之戏,恐其情窦萌芽,不能遏抑,必至暗废学界发达之机,必须厉禁。

此时,禁戏的目标不再仅仅为了维护旧礼教,而是为了“保全后生行检”,保障“学界发达”,服务于培养新国民的时代任务。在袁世凯的支持下,地方官员甚至批准将各村庄唱戏的钱款“作为蒙养学堂经费”。将“禁戏”与“兴学”直接挂钩,赋予了禁戏以崇正学、开民智、强国家的近代合法性。

(二) 禁令的内容

基于上述三重焦虑,晚清天津的戏曲禁令远不止禁演几出淫戏,而是将矛头指向戏曲活动的各个层面。

1.对声腔剧种的等级划分与压制  禁令体现了鲜明的文化等级观念,对源于民间的莲花落(落子)、蹦蹦戏、哈哈腔等地方小戏,因其内容俚俗,贴近市井,表演形式活泼,而贬斥为“粗鄙”“不雅”,是败坏风俗的源头。1880年,天津太守以“貌则诲淫,词则多亵”为由禁演落子,之后历次禁令都反复指称其“词尤淫亵”“声复鄙靡”“调极淫艳”,这种以雅俗之分对剧种进行区别对待的做法,是官方精英文化对蓬勃发展的民间草根文化的歧视与压制,以维护官方认可的文化秩序。

2.对表演内容的伦理审查 “淫词艳曲”是禁戏令中出现频率最高的罪名,其界定范围极广,狭义是指直接描绘色情、狎昵情节的剧目,从频见报端的禁令来看,主要针对的是那些在茶园、书馆、落子馆乃至街头演唱的,带有露骨性暗示的民间小调和艳情故事,如《申报》痛批的“留枕窥帘,铺排任口,断云零雨,摹拟尽情”;广义则是泛指一切被认为在曲词、情节、表演上具有色情、挑逗意味或违背传统儒家伦理道德的剧目,如涉及通奸、私奔情节的《翠屏山》《拾玉镯》等“粉戏”,甚至一些表现青年男女自由恋爱、反抗包办婚姻的剧目,也被贴上“淫戏”的标签而遭禁演或删改。1906年巡警总局的演戏章程中,甚至将禁令细化到表演动作,规定“不准男女搂抱狎亵”,在表演亲密情节时,须“入后台”回避,再出场时亦“不得作穿衣系裤之状”。这表明国家权力试图将伦理审查的触角深入到舞台表演的每一个细节。

3.对表演形式的性别隔离 对“坤伶登台”和“男女合演”的严防死守,是禁令中最富争议也最具时代性的现象。在“男女大防”的传统性别观念下,女性登台演戏本身即被视为“抛头露面”“有失体统”,是“诲淫之渐”,而男女同台表演更被斥为“有伤风化”“全国绝无仅有之事”,是对传统礼教的公然挑战。1905年,时任直隶总督的袁世凯亲自督办的天津禁戏行动,又被称为“四禁”,即禁男女同台演戏,禁演淫剧,禁演蹦蹦戏,禁男女听戏者同入散座。首当其冲的便是禁男女合演,称其“丑态百出,肆无忌惮”“伤风败俗,莫此为甚”,甚至认为这种表演形式本身即为“淫”,这本质上是传统性别秩序与男权思想在现代公共娱乐空间中受到挑战时的一种激烈反弹,试图通过禁止女性的舞台呈现,来维系旧有的性别等级与隔离制度。

4.对观演行为的秩序重构 禁令不仅规制台上,也延伸至台下,对观演秩序进行了严格的限制。随着城市公共娱乐空间的兴起和风化问题的日益凸显,女性进入戏园观戏成为一个备受争议的社会现象。官方认为“妇女入座听戏,亦毫不知羞”,男女混杂观剧,“易生意外之事”,因此规定“妇女听戏,必须包厢,不准入散座”,试图通过物理空间上的隔离,来避免公共场合可能出现的“风化”问题,维护性别秩序。进入民国后,一些新式剧场往往会设立专门的女座或包厢,这依然是性别规训在现代观演空间中的延续。

此外,与观剧相伴生的各种社会失序行为也被严格禁止,如利用戏园“设叶子戏藉赌抽头”,土棍、混混、游手好闲之徒利用戏曲演出“乘机需索”,或借排演秧歌等就趁机“苛敛钱资”、扰乱社会治安诸如此类的行为,以及因观剧而发生的“滋扰喧闹”“高声喊好”等观演习惯,也一并被纳入巡警的惩戒范围。

综上,晚清天津的戏曲禁毁,远不止舞台上的声色,它是由点到面,从艺术形式到社会行为,从从业者到观众,全方位、立体化的社会风化整顿,深刻地反映了晚清社会在转型时期的道德焦虑与控制。

(三) 禁令的执行主体

晚清天津的戏曲禁毁是一个由多方力量构成的权力网络共同驱动的复杂过程。从坐镇一方的总督,到奔走市井的巡警;从忧心风化的士绅,到处境微妙的租界当局,再到通过报刊发声的社会舆论。各方力量在这一运动中扮演着不同角色,共同推动晚清天津戏曲禁毁的运行。

1.地方政府是禁令的发起者和推动者 从直隶总督袁世凯亲自批示到天津知县的频繁发布禁令,构成一条自上而下的权力链条,是禁毁行动的核心骨架。这一阶段的禁令多依赖于地方官的个人意志,带有浓厚的传统人治色彩,效力有限。1902年,天津巡警总局设立,标志着城市管理从传统的府衙模式转向近代警察专职管控模式,对戏曲的管理也从过去运动式的、被动的查禁,开始向制度化的、主动的监管转型。具体表现为,一是执法制度化。像1902年《巡警条规》、1905年《天津四乡巡警章程》、1906年《天津巡警总局颁布演戏章程》等系统性的管理章程,明确规定了禁演内容、剧目审查流程、演出时间限制等细则,使禁令从原来官员的临时指令变为有章可循的常规管理。二是管理专业化。专业的巡警队伍取代了衙役,对娱乐场所进行日常巡查与监督,执法更加规范高效。三是惩戒手段多样化。除传统的杖责外,还采取罚款、拘留、劳役、查封、吊销执照等多种行政与经济处罚手段,实现对戏曲行业的深度控制。

2.地方士绅是禁令的支持者和协作者 作为地方舆论领袖和儒家道德的捍卫者,士绅阶层在维护传统道德、改良社会风俗方面的诉求,与官方在维护风化上的目标高度契合,从而形成合力。而且他们大多受清末新政和西学思潮影响,对朝廷的腐败无能感到失望,同时又怀抱着启迪民智、改良风俗、富国强兵的理想。在他们看来,充斥于市井间的“淫戏”“俗戏”是造成国民精神堕落的文化根源,而将官方的禁戏行动视为移风易俗、改造国民性的重要举措,并自觉地将其提升到强国保种和构建现代民主国家的政治高度。他们的支持主要表现在两方面:一是作为非官方的社会监督力量,凭借他们的道德威望,对有伤风化的戏曲活动进行监督、劝导,或采取联名禀告等方式向官方举报。1905年禁止男女合演淫戏及蹦蹦戏是晚清天津戏曲禁毁最具代表性的事件,就是由天津当地以徐士鉴为首的20余位候选道、举人、生员联名上书,提出“禁其男女合演”“禁演淫戏”“妇女听戏,必须包厢,不准入散座”“禁蹦蹦戏”等一系列具体建议。这种下情上达的模式,使得官方的禁令在某种程度上具有了民意的基础。随着晚清地方自治的兴起,议事会等新兴的半官方组织也成为士绅们表达诉求、参与地方治理的重要平台。议事会作为中介,将各种来自民间的声音转化为正式的公文,“申请关道宪”“移请巡警局”,推动启动官方的查禁程序。议事会的介入,使士绅的参与从过去的个人化、零散化的公禀,开始向组织化、程序化的方向发展。二是组织改良社团,实践以良驱劣。他们意识到民众的娱乐需求是客观存在的,仅靠禁令去“堵”无法解决问题,必须提供文明高尚的娱乐形式来进行疏导。为此,他们积极创办各种新式文化设施和戏曲改良社团,试图通过创作和推广新戏来以良驱劣,从根本上改造戏剧生态。1905年后,天津相继成立了“移风乐会”“戏剧改良社”“艺剧研究社”等组织,积极编演《潘公投海》《悔前非》等时装新戏,向民众灌输新的道德观和国家观,希望通过这种文化替代的策略,将民众的审美趣味从鄙俗的旧戏,引导到高雅的新戏上来,从而完成对大众文化的整体改造。

3.租界当局是禁令执行中的特殊变量 租界的存在使禁毁局面异常复杂。对于中国官方而言,租界是法外之地,是各种歪风邪气的源头,而“治外法权”使其成为官方禁令难以触及的灰色地带,在客观上消解了禁令的效力,构成了对中国国家主权的严重挑战。天津官方只能通过津海关道“照会”各国领事协助,但效果如何完全取决于对方领事的意愿与利益。如1898年查禁落子馆,津海关道致函各国领事,英国领事表现出“和衷共济”的合作态度,而德国领事则从商业利益出发,“以为兴旺地方起见”,公然“出示准行”,形成“禁令悬殊”的局面,凸显了中方主权的旁落以及华洋权力在城市治理上的冲突与博弈。

4.社会舆论是禁毁背后无形的推手 以《申报》《大公报》《益世报》《国闻报》《北洋官报》等为代表的新兴报刊媒体,在戏曲禁毁中扮演着重要角色。一方面,它们常常作为官方禁戏政策的喉舌和舆论引导者,频繁刊载各种关于戏曲“败俗伤风”“诲淫不堪”的报道和评论,用充满道德批判的文字,在社会上营造一种谈淫色变的氛围,为官方采取严厉的禁令提供舆论支持;另一方面,也扮演着监督者和民意代表的角色,对当时戏曲淫戏当道的情况和官府禁戏的不作为表示强烈不满,并向各执行主体施加压力,促使他们采取行动。

二

民间的应对与权力自身的困境

面对自上而下、由多方权力主体共同构建的规训网络,民间社会并非被动的接受者。旺盛的市民娱乐需求,戏曲从业者的生存压力,以及天津独特的城市格局,共同构成了对禁令的软抵抗与结构性消解,充分展现出民间文化的强大韧性。同时,禁令在实践层面也因自身固有的矛盾而陷入困境。

(一)民间社会的应对策略

面对官方的高压管制,天津的戏曲市场和从业者以其灵活的生存智慧,在禁令的缝隙中找到了存续和发展的空间,展现了民间文化的坚韧和活力。其主要应对策略如下。

1.空间的腾挪 天津华洋分治的城市格局,为民间戏曲提供了最直接有效的规避策略。租界的治外法权使其不仅是政治、经济上的特区,更成为官方文化禁令难以渗透的避风港。每当华界禁令趋严,大批被禁的戏班和艺人就会涌入租界寻求生存,客观上促成了租界内娱乐业的繁荣,形成“墙内开花墙外香”的独特景观。1898年的查禁落子馆案即为典型,被华界禁绝的落子馆,在英国新增租界内“恃有护身符,重复大张旗鼓”,而德国领事更是明确允许出行。即便是国丧期间,华界各戏园均皆停演,租界内的戏园仍鸣锣响鼓,毫无顾忌,观剧者“殊形拥挤”“门前则车马列满,园中则包厢充盈”,形成“租界内外咫尺之间,天渊之别”的讽刺景象。天津官方虽多次与各国领事交涉,希望一并取缔,但租界当局往往以“兴旺地方”“自有章程”为由予以回绝或拖延。这种利用主权缝隙进行的空间套利行为,不仅使被禁的戏曲艺术形式得以香火延续,更从根本上瓦解了华界禁令的权威性,使其规训意图沦为空谈。

2.表演的变通 上有政策,下有对策,戏曲艺人为了生计,采取了五花八门的变通手段与官方的审查周旋。这些策略既有消极的规避,也有主动的调适。消极规避的典型是与巡查人员玩“猫鼠游戏”,一些戏园会在“台上悬一铜铃,引线达于门外”,有专人守望,以便随时闻警而停。更为普遍的,则是对表演本身进行主动的“净化”或伪装,例如蹦蹦戏被指“淫秽”,那就删改其中过于露骨的唱词和表演动作,调整表演方式,或改换剧名、换壳上市,继续演出。又如河北梆子女伶金月梅,为摆脱“淫戏”恶名,“立定宗旨,从此不演粉戏”;当戏园派她演《关王庙》时,她“不肯应允,临时改演《少华山》”;即便是演《卖油郎独占花魁》,也把“所有形容过当处一律删去”。这种行为,一方面是艺人应对高压的生存智慧,另一方面也反映了在官方与精英阶层的持续批判下,部分艺人开始内化主流的道德标准,提升自身艺术品格,寻求更广阔生存空间的尝试。这种自我审查与主动改良,虽是被动促成,却是戏曲艺术走向“雅化”的重要内因。

3.形式的创新 为应对“男女同台”的禁令,戏曲界催生出完全由女演员组成的坤剧馆或坤伶班,这种组织形式上的创新,既在表面上遵守了官方性别隔离的规定,避免了直接的冲突,又满足了市场对女伶表演的巨大消费需求,可谓一举两得。这充分说明,市场的力量能够在行政禁令的框架内,通过形式创新找到满足自身需求的途径。作为禁令下的特殊产物,坤伶班的出现,也为日后女演员地位的提升和戏曲表演生态的改变埋下了伏笔。

4.舆论的借力 新兴的报刊媒体不仅是官方的传声筒,也是民间表达不同意见、进行舆论斗争的重要平台。1904年,《大公报》就“天津何以多女优”这一社会现象发表了多篇评论文章,对禁令的实效提出质疑,还援引租界章程进行法理辩驳,将禁戏问题从一个单纯的风化事件,提升到关于社会公正、女性权利和政府治理能力的公共议题。一些士绅也通过呈请等方式,与官方进行协商,如1905年徐士鉴等人的禀文,就建议“仿照上海章程”,“禁其男女合演,不禁其男女分演”,设立专门的坤剧馆等,尝试在禁令的框架内寻求更具操作性的解决方案。这种对舆论和公共议事权的运用,标志着民众权利意识的初步觉醒和民间社会参与公共事务能力的提升。

(二)权力自身的困境

然而,看起来雷霆万钧的官方禁令,在实际操作中却屡屡陷入“禁者自禁,演者自演”的尴尬境地,究其原因,主要受到以下几方面的限制。

1.财政利益的掣肘 戏曲行业作为城市娱乐经济的重要组成部分,是地方政府税收的重要来源。通过颁发执照、征收戏捐等方式,将戏曲行业纳入地方政府行政和财政管辖范围。而对那些游离于官方管控之外的撂地演出、私设戏馆等进行查禁,既有整顿秩序的目的,也有将这部分“灰色”经济纳入官方管控、防止税源流失的经济考量。因此官方对戏园的管理,已从单纯的道德规训扩展到包含了经济控制的复合治理。但是反过来,一旦戏园的商业利益与官方的财政需求绑定成难以分割的共生关系,必然会对官方禁令的执行造成掣肘。当时的官方文件和时人评论都毫不避讳地揭示了这一点,《大公报》一针见血地指出,官方对淫戏屡禁不止,根本原因就在于“官府里多得点儿捐钱”。1905年徐士鉴等人在禀文中提到“戏馆皆有捐输”,成为议禁时必须考虑的现实问题。1909年天津县议事会致直隶总督的禀文中更明确地指出了这一点,国丧百日期满,租界戏园均已开演,如果在华界仍行严禁,恐怕戏班和艺人会因“衣食所迫,相率驱入租界苟图生活”,到时必将导致华界商业“日行萧索”,而租界市场“日见振兴”,最终损害的是华界整体的“商务之前途”与“小民之生计”。这种将文化管控与经济利益捆绑的论述,显示出单纯的道德禁令在面对财政与商业利益时的妥协与无力。

2.市民文化的惯性 官方禁令所面对的,不仅是戏班和园主的经济诉求,更是一个庞大、坚韧且对戏曲娱乐拥有巨大刚需的市民社会。对于终日辛劳的普通民众来说,闲暇时间到茶馆戏园看上一段火炽热闹的蹦蹦戏,听上一段扣人心弦的公案书,是他们生活中重要的消遣方式。这些源于乡土、内容贴近百姓日常生活的艺术形式,能够给他们带来最直接的情感共鸣和精神慰藉。而官方和精英们所倡导的、旨在“开民智”的文明戏,往往情节枯燥、说教意味浓厚、缺乏吸引力,可见官方的道德标准与市民阶层的娱乐趣味之间存在着巨大的鸿沟。这种根深蒂固的文化消费习惯形成了一股强大的惯性,构成对禁令的软抵抗。

民众对戏曲的旺盛需求,使得天津的戏曲市场屡禁而益盛,这正是市民文化强大生命力的体现。一旦官方打击力度有所减弱,或随着时间推移有所松懈,戏曲活动便会迅速复苏。如在经历了一段时间的严禁后,女伶、蹦蹦戏、男女合演等很快便又以“稍变其态”的方式卷土重来。这种“野火烧不尽,春风吹又生”的局面,让官方的禁令陷入“言者谆谆,听者藐藐”的窘境,最终流于形式。市民阶层以持续的、沉默的消费行为,维系了民间戏曲的市场生存空间,从根本上消解了禁令的权威,也显示出国家权力在改造深层社会文化时的局限性。

3.租界的结构性消解 租界的治外法权使其成为规避政府法令的天然避风港,每当华界发布严厉的禁戏令时,戏班及艺人便纷纷迁往租界。华界官员对租界事务没有直接管辖权,只能通过“函请”“照会”等外交途径进行交涉,其结果如何完全取决于对方领事的态度。如1891年“男落子”被禁后“逋逃于法租界第一茶楼”,该处“地居偏僻,为领事所不见不闻”,地方官也只能因“不便为之庖代”而无法有效干预。1898年查禁落子馆,德国领事以“兴旺地方”为由,公然准许德租界内的晴云茶园开演。这种管辖权的错位,使租界俨然成了一个独立的文化与法律空间。更深层的,租界以其更自由的文化环境和更繁荣的娱乐业,对华界构成了持续的资本和人流的“虹吸效应”,最终损害的是华界自身的经济利益。这种主权不完整导致的治理缺位,充分暴露了清政府在租界面前主权旁落、行政无力的困境,从法理和实践上彻底瓦解了其试图建立统一文化秩序的努力,最终只能沦为一场“禁者自禁,演者自演”的独角戏。

三

禁令干预下天津戏曲生态的新变

官方旨在维护传统、净化风俗的强力干预,非但没有扼杀天津戏曲的活力,反而成为一种催化剂,在无意中激发了一场深刻的艺术变革,催生了评剧、卫派梆子的崛起,并推动了整个地方戏曲生态的近代化转型。这一愈禁愈兴的现象,深刻揭示了权力干预在文化生态演进中产生的非预期性后果,也为我们展示了文化强大的自我调适和再生能力。

(一)评剧的崛起

评剧的前身“蹦蹦戏”,因其唱腔通俗、内容贴近下层民众生活,在赢得大批拥趸的同时,也被官方视为“鄙俗”“淫靡”的代表而屡遭禁毁,甚至被驱逐出津。这对刚刚在天津站稳脚跟的蹦蹦戏艺人来说,无疑是一次沉重的打击。但是,以成兆才为代表的一批有识之士并没有因此消沉,他们返回冀东农村后,开始展开深刻的艺术反思。他们清醒地意识到,“蹦蹦戏”之所以被禁,除了官方的偏见外,其自身艺术的粗糙和内容的局限也是不争的事实,要想生存和发展,就必须在艺术上进行全面的提升。这次改革是全方位的:在音乐唱腔上,他们吸收京剧、河北梆子等大剧种的板式声腔,丰富了“蹦蹦戏”原来单调的唱腔,使其更具表现力和抒情性;在伴奏形式上,借鉴河北梆子的文武场面,引入板胡、笛子和打击乐器,音乐感染力大大增强;在剧本创作上,《杨三姐告状》《花为媒》等一大批关注社会现实、结构完整、形象鲜明、思想内涵深刻的新剧本的问世,彻底摆脱了早期“蹦蹦戏”内容浅白俚俗的缺陷;在表演程式上,学习河北梆子和京剧的表演技法,对演员身段、台步、念白等进行了规范化、程式化改造。改革后的“蹦蹦戏”在艺术上完成了脱胎换骨的转变,从业余的、自娱自乐的民间说唱,发展成为一个拥有完整声腔体系、丰富剧目和专业表演规范的全新戏曲剧种——评剧。民国初年,当评剧以全新的面貌重新登上天津舞台时,立刻引起了轰动,并迅速风靡京津乃至整个华北地区,最终成为我国最具影响力的戏曲剧种之一。官方的压制就像一次优胜劣汰的自然选择,淘汰了早期“蹦蹦戏”中粗糙落后的因素,却也激发了它内在的生命力,使其在逆境中完成了向更高艺术形态的进化。评剧因禁而兴,折射出文化生态的复杂面貌,以及权力干预可能带来的意想不到的结果。

(二)京剧与河北梆子的繁荣

作为北方重要的“戏曲大码头”,天津文化生态的核心特征就是高度的包容性和适应性。官方禁令在压制某些通俗表演形式的同时,也为其他剧种的演变和新流派的形成提供了空间和机遇。相比于倍受打击的地方小戏,艺术上更雅正、更规范的京剧,在官方的审查环境下获得了相对宽松的发展空间,吸引各地京剧名角云集天津,成就了京剧艺术在天津的繁荣局面。河北梆子源于山西、陕西地区的山陕梆子,声腔高亢激越,在传入河北后迅速成为深受民众喜爱的剧种。天津禁戏之后,“蹦蹦戏”等地方小戏的生存空间受到严重挤压,客观上为艺术更为成熟的河北梆子提供了更大的市场份额。为了更好地在天津立足,河北梆子也在不断进行自我调适,以适应天津本地观众的语言习惯和审美偏好。如在语言上,吸收天津方言的特点,使其念白和唱词听起来更加亲切;在表演风格上,为了迎合城市观众的审美趣味,减少了早期梆子戏中过于粗犷平直的成分,变得更加精致、文雅,逐渐形成了一种具有天津地方特色的河北梆子流派——卫派梆子。与原始的山陕梆子和流行于河北农村的直隶梆子相比,卫派梆子更注重唱腔的婉转和表演的细腻,更具城市气息。这一流派的形成,是外来剧种在天津这座文化大熔炉中“本土化”的生动体现。可见,即便在官方的强力干预下,天津的戏曲市场依然能够通过剧种的优胜劣汰、自我调适和艺术流派的创新,来维持其内在的文化活力和创造力。

(三)戏曲生态的新变

首先,女性能否登台表演、女性是否应该以及如何观看戏剧这些问题引起社会普遍的关注。女演员以身体和才艺作为商品,在公共舞台上进行展示的行为被视为不守妇道;男女演员扮演夫妻或情侣,在戏中表现情感互动,更被认为是淫乱之源;戏园作为开放的城市公共娱乐场所,不同阶层、不同性别的陌生人混杂共处的状况,充满道德和治安的风险。因此禁令中频繁出现“禁男女同台”“禁男女混坐”的要求,这表面看是戏园管理细则,实则是国家权力试图在城市新兴的公共娱乐空间中重新恢复传统儒家性别伦理秩序。禁止男女同台,剥夺了女伶的从业权利;男女分座的规定,则是将这种性别隔离原则从舞台延伸到了观众席。但随着女性观众群体的不断扩大,单纯禁止已不现实,于是就有了“妇女听戏,必须包厢,不准入散座”的提议,这实质上是一种妥协:一方面,它承认了女性作为文化消费主体的合法地位和权利;另一方面则通过物理空间上的隔离来重建性别界限,维护公共场所的纯洁与秩序。这标志着官方策略从完全排斥转向空间的隔离与规训。尽管其初衷是为了维护传统礼教,但却在客观上推动了中国近代公共场所性别设施规范化的初步形成,深刻地影响了近代天津乃至整个中国城市公共娱乐场所的性别格局。

其次,对女伶的反复禁逐,非但没能将其彻底清除,反而在市场的巨大需求下,催生了坤伶班、坤剧馆的设想和实践。1896年天津地方官府为严厉禁止女伶演戏,将违禁的女伶递解回籍并严惩其家人。然而到1904年,《大公报》称天津的女优已超过200人,数量甲于各处。市场的巨大需求和高额利润,使女伶演戏屡禁不绝,而这些新兴的女演员,一方面通过进驻管理更为灵活的租界来规避风险;另一方面,也主动对表演内容进行改良,以金月梅为代表的女伶为摆脱“淫戏”的恶名,删改剧本,甚至编演新戏。这种自觉的调整,使坤伶逐渐从被污名化的底层艺人,转变为拥有一定市场号召力的明星。坤伶的兴起与商业化,不仅是对官方禁令的一次成功反抗,更代表了市场力量在塑造近代演艺业形态中的决定性作用。

再次,这场旷日持久的禁毁行动,最深远的影响,或许在于它引发了整个社会对于戏曲功能的重新思考。人们开始超越以往简单地对戏曲进行“诲淫诲盗”的道德批判,转而思考戏曲的社会功能,向“改良戏曲”“文明观剧”等近代文化观念演进。他们意识到戏曲“与人心世道,大有关系”,如果能“多编些好戏”“去人的迷惑”,并常常演唱,其社会教化效果,甚至比“学堂报馆,效验更快”。1906年,李远斋等人“禀请提学司,拟将戏曲大加改良,裨益风俗”,得到官方的认可。这表明,戏曲的“教化”功能被重新发现和利用,从消极的“不伤风败俗”转向积极的“移风易俗”,将戏曲的社会功能从单纯娱乐提升到国民教育的高度。改良戏曲不再只是一种被动应对审查的策略,更成为一种主动的文化建设形式。而随着对观剧秩序(如禁止大声叫好,禁止喧哗等)讨论的增多,“文明观剧”观念开始萌芽。戏园不再仅仅是宣泄情感的场所,而被期待成为一个有秩序、有规范的现代公共空间。从禁内容到禁形式,再到规范观众,这套观念的演进,是天津城市文化向现代化转型的细微而深刻的表征。

结语

晚清天津的戏曲禁毁远非一桩孤立的地方文化管制案例,当我们把视线从具体的禁令条文、个案的处罚中抽离,将其置于近代中国社会剧烈转型的宏大历史背景下审视,其背后潜藏的中央与地方、传统与现代、官方与民间、道德与权力的复杂纠葛便清晰地呈现出来。

第一,禁毁展现了权力运作的复杂性和局限性。清末官方,无论是出于维护传统伦理的道德自觉,还是出于应对统治危机的政治焦虑,其查禁“淫词艳曲”、整顿戏园、禁止女伶等一系列措施,决心不可谓不大。然而,禁令的执行过程却充满了弹性、矛盾甚至自我消解。禁令的反复颁布本身就是权力效能有限的有力证明。尤其是租界这一近代中国半殖民地历史的的独特产物的存在,更是从结构上瓦解了官方权力的完整性和有效性。它不仅为民间戏曲活动提供了“法外之地”,更使得官方的规训在华洋交错的空间中遭遇了双重挑战。权力在此不再是单一的、垂直的、不容置疑的,而是在与地方士绅、民间社会乃至外国势力的持续博弈中,不断被调试、被重塑。

第二,禁毁体现了天津城市现代化进程中的矛盾与冲突。戏曲禁毁所触及的,早已超越了简单的道德净化范畴。对戏园的查禁和管理,关联着近现代城市公共空间治理的难题;对“男女混杂”的担忧和“禁卖女座”的讨论,牵动着新旧伦理与性别观念的冲突;围绕租界戏园的禁与不禁所展开的拉锯,则直接触及了国家主权与外来势力博弈的深层问题。在这一系列新问题面前,传统的治理模式显得捉襟见肘。这些都体现了天津在晚清这一特殊时期,试图对新型城市文化业态进行规制的艰难探索与适应。

第三,禁毁体现了权力、市场与文化惯性三者之间的互动与博弈。官方的权力,意图通过行政命令的强制性手段,来塑造其理想中的社会风尚,并限制乃至清除其不认可的市场供给。然而,由市民阶层构成的巨大市场需求,以及数百年传承下来的深厚文化惯性,共同构成了一股强大的反作用力,使戏曲艺术即便在禁毁的高压之下,仍能通过各种途径存续和发展。更有甚者,就像“禁书”往往更具吸引力一样,官方的禁毁在某种程度上反而激发了民众的逆反心理和猎奇心态,提升了被禁戏曲的稀缺性和吸引力,意外地推动了某些剧种、某些剧目或演员的走红,成为“禁毁推动经典化”理论的典型。晚清天津的戏曲生态,正是在这种官方的强力干预、市场的旺盛活力和文化的深厚惯性三者犬牙交错的互动与拉扯中演进。

天津的戏曲禁毁经验证明,文化的演进并非总是遵循线性的、由权力完全设计的路径,而常常是在多方力量的博弈、冲突与妥协中,以一种充满意外、甚至自相矛盾的方式展开。而这一过程生动地揭示了在近代中国社会转型过程中,文化自身所具有的、超越权力直接控制的强大生命力和创造性。

本文为2025年度天津社会科学院重点项目“天津戏曲编年史“(项目编号:25YZD-03)的研究成果。

责任编辑:周娟

(本文原载于《四川戏剧》2026年第8期,注释从略,转载需本刊编辑部授权。)

温馨提示

投稿方式

本刊唯一投稿网址为:https://scxj.scyishu.org.cn.

点击蓝色字体查看投稿须知 、栏目简介。

点击蓝色字体查看2026年重点选题方向。

订阅方式

✦邮局订阅

本刊国际标准连续出版物号:ISSN 1003-7500,国内统一连续出版物号:CN 51-1087/J,国内发行代号:62-112,国外发行代号:M6350。

✦网络订阅

识别下图二维码,通过“中国邮政-微商城”订阅。

全国中文核心期刊

AMI综合评价(A刊)扩展期刊

四川省哲学社科基金资助学术期刊

主管 |

 四川省文化和旅游厅

主办 |

 四川省艺术研究院

 四川省艺术档案馆

编辑|刘美希 
初审|周   娟
复审|蒋   茜 
终审|谢竹峰 徐华威
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-09-26 03:41:54 HTTP/1.1 GET : http://f.sjds.net/a/489971.html
  2. 运行时间 : 0.071631s [ 吞吐率:13.96req/s ] 内存消耗:4,356.61kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=0b48e6a7e5cd27fd7ed9812793d23e27
  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.000734s ] mysql:host=172.18.0.4;port=3306;dbname=f_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001014s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000435s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000358s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000720s ]
  6. SELECT * FROM `set` [ RunTime:0.000379s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000671s ]
  8. SELECT * FROM `article` WHERE `id` = 489971 LIMIT 1 [ RunTime:0.000472s ]
  9. UPDATE `article` SET `lasttime` = 1790365314 WHERE `id` = 489971 [ RunTime:0.003225s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000312s ]
  11. SELECT * FROM `article` WHERE `id` < 489971 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000572s ]
  12. SELECT * FROM `article` WHERE `id` > 489971 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000433s ]
  13. SELECT * FROM `article` WHERE `id` < 489971 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000492s ]
  14. SELECT * FROM `article` WHERE `id` < 489971 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000775s ]
  15. SELECT * FROM `article` WHERE `id` < 489971 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000714s ]
0.080175s