当前位置:首页>戏曲>论文研读|赵子豪:余治戏曲改良的赓续与晚清慈善义演的兴起

论文研读|赵子豪:余治戏曲改良的赓续与晚清慈善义演的兴起

  • 2026-05-18 01:41:28
论文研读|赵子豪:余治戏曲改良的赓续与晚清慈善义演的兴起

 丹黄甲乙 

文献标题:寓教于乐与寓善于乐的双重变奏——余治戏曲改良的赓续与晚清慈善义演的兴起

文献作者:赵子豪

文献来源:中国国家博物馆馆刊

发表时间:2023年5月

摘要

面对晚清江南地区淫戏的盛行,以慈善家余治为首的戏曲改良活动主张编演善戏,寓教于乐,随后的义赈同人谢家福等则基于赈灾的现实需要,提出寓教于乐与寓善于乐并举,但因其贱视伶人,灾童演戏的提议先遭废止,又因善戏未参与慈善义演,尤其是善戏禁淫举措的失败,导致初兴的慈善义演只实现了寓善于乐。直到清末戏曲改良运动兴起,康有为、梁启超与陈去病等人不仅继承与革新了余治寓教于乐主张的内涵,还倡导改善伶人地位,唤起伶人的身份认同与社会责任感,后者遂积极编演新戏、参与义演,实现了寓教于乐与寓善于乐的双重奏。

关键词

余治;清末戏曲改良运动;慈善义演

晚清以降灾害频仍,又逢外人侵袭,致使清朝统治不断暴露弊端,传统荒政行久弊深而日渐衰落,难以支撑赈灾救荒全过程,为近代慈善事业的发展腾出历史舞台。

作为其组成部分的慈善义演,因牵涉戏剧史、灾荒史、慈善史等,逐渐引起学界的研究兴趣,使之成为专门的研究分支,相关研究成果已十分丰硕,但仍有空间可以填补:如前人虽察觉到义演在初兴后即向义赈靠拢,却未曾注意与义赈同人关系密切的余治及康有为、梁启超等人之戏曲改良主张同慈善义演的发生发展有何关联

《中国近代慈善义演研究》

郭常英、岳鹏星|著

有鉴于此,笔者从相关著述、报刊杂志等核心史料出发,借助分析阐释其间“寓教于乐”“寓善于乐”一组概念的关系及其各自的赓续与革新过程,对晚清两次戏曲改良活动及慈善义演两个阶段加以爬梳,以期对此问题做一考察。

余治寓教于乐的戏曲改良活动

鸦片战争后的开埠通商与接踵而至的太平天国战乱,使得士绅与商贩、伶人与难民,或逐利,或避难,纷纷涌入上海,为戏剧表演储备了更为丰富的受众与人才。随着京班南下,诸声腔争奇斗艳,加之市民休闲娱乐的需要与城市商业气息的浸润,原本“沪上虽称繁华,然其时未有戏院”、只能借助园林演剧的情形随之一变,戏园应运而生且日渐繁荣,“大小戏园开满路,笙歌夜夜似元宵”

为争夺观众,各戏园间或在剧目选定与声腔表演上多有斟酌,或进行价格战,普通民众得以步入其中。享乐之风随之在这座新兴商业城市里甚嚣尘上,外国租界一面对地方行政管辖多有窒碍,一面又使社会风气潜移默化,戏园客源的两端——富商大户与平民百姓——都深受影响,他们追逐风流、耽溺享乐,相较于忠孝仁义之戏,更欣赏男欢女爱的“淫戏”。

考虑到戏曲“苟能摹绘入神,往往动人感泣”的感染力,《申报》在创刊后,就对淫戏极力反对,以有损阴鸷之说,劝勉读者莫点演淫戏,告诫戏园“既存图利之心,勿为丧德之事”。地方政府亦颇为警觉,多次下令加以管制:同治六年(1867年),苏松太兵备道通饬示禁淫戏、颁发永禁碑式;次年,江苏巡抚丁日昌下令禁止开设戏馆点演淫戏,开列《应禁书目》《小本淫词唱片目》及《续查应禁淫书》;同治十一年(1872年),江苏学台体认到“奸盗淫邪之事,一二人导之无不立见披靡”,又出示《严禁淫戏告示》。禁令之迭出,反衬出官方举措并未奏效,《申报》对此总结称“禁淫戏一节,虽经三令五申,而禁者自禁,演者自演。”

同样是面对淫戏盛行,江南善士余治另有一种解读与应对。余治(1809-1874),江苏无锡人,字翼廷,号莲村,清代慈善家、戏曲家(图一),是咸同以来江南善士圈的连接点,晚清义赈的实施者李金镛、谢家福、严佑之皆是其弟子。他一生力行劝善救济,时人评价其活动“意重在教而先以养”。何以重“教”,乃是因为在余治看来,“不教终沦禽兽,由来世教堪忧,煌煌圣谕溯源头,无奈具文已久;天道昭彰可畏,人心悔改能不,潜移默化釜薪抽,化俗全凭善诱”

彼时历经太平天国战乱的江南,已是“乱嘈嘈,劫共遭”,大劫将至,淫戏盛行及其造成的天怒大劫,使对民众循循善诱之“教”显得更为迫切而必要,因此,余治强调自己“生平有四大愿:一复小学,一行乡约,一毁淫书,一演新戏”

与《申报》及地方官府相似,余治亦看到了戏剧的影响力,“淫戏一演,四方哄动,男女环观,妖态淫声,最易煽惑”,以致感慨“国家岁旌节孝千百人,不及淫戏数回之观感为尤捷也”,因此他认同《申报》的劝诫与官府的禁毁,为此特意在《得一录》中搜集前人禁毁淫书淫戏的著述政令,专门总结《各种小本淫亵摊头唱片名目单》及《永禁淫戏目单》。

但不同之处在于,正因体悟到戏曲尤捷的感染力为其他教化方式所不及,他才并未止步于对淫戏一禁了之,而是决意因势利导,创演新戏,寓教于乐。

图一余治画像

(采自无锡文库编辑委员会编

《无锡文库》第三辑,凤凰出版社,2012年)

明清以来的儒家学者对此颇有倡导者。早在《得一录》中,余治就征引王阳明、陶石梁、邱嘉穗、李光地等先贤的相关论述以佐证其主张之可行。至于为何选择创作新戏,而非只以前人主张的所谓剔除诲淫诲盗后的忠孝节义之戏施加教化,则是因为在他看来,现有剧目尚有两处弊端:

其一,大都药不对病,所针对的“皆奇病、怪病,而非人人共犯之通病”;其二,未能取材真实,“描写逆状出于情理之外”,天下古今断无其人其事。

为此,他拟创编“劝善新戏”对前述缺陷予以订正。“所选均属眼前实事”,“均准情酌理,不敢矫诬古人”,“按切近日下等人所犯恶习”,并特意选择下里巴人所热衷的村歌野曲、亦即在花雅之争中占据上风的花部戏曲为其外在艺术形式,内里则佐以极为明确的教化目标,或劝孝悌、劝助饷、劝救济,或惩奸恶、惩诲淫、惩溺女,皆为劝善化民,收“最洽人情,易俗移风”之效,重建儒家道德秩序,“为荡平之左券”,挽救大劫。

总之,若论《得一录》是在禁淫戏的基础上肯定了戏曲的教化作用,则《庶几堂今乐》正是以编新戏而对此加以利用,相较于前人,余治另起炉灶、以花部新戏劝善化民的活动,可谓晚清以降戏曲遭遇的一次改良。

清代经学家俞樾极为赞同余治于“戏剧之中寓劝惩之旨”的做法,统称其新戏为“善戏”,号召“世之君子有世道之责者,广为传播,使此戏通行于海内”。善士严辰则将善戏搬演“于嘉、湖等处,至是复挈以赴杭,进于杨石泉中丞,中丞极为嘉许,谓可通行各省,以裨风化”。可见善戏不仅获得江南士绅支持,更迎来官方青睐。

然而,为官绅赞誉的善戏却并未得到观众认可:余治本人曾“收童竖之无告者,令梨园老优教以歌歈,而自为之行列节奏,携以出游”,该戏班曾在江阴、常熟等处试演善戏,效果都不理想,后因“资用屡困,谤讥间作,先生力经营之不少衰,至病作,不能自强,乃散诸僮”。余治病逝后,他推广善戏、寓教于乐的遗志只能留待其弟子实现。

寓善于乐的后来居上:

义赈同人的思路转换与慈善义演的初兴

1877年,李金镛、谢家福等人因“丁戊奇荒”发起晚清义赈,在山东赈灾的谢家福不忘借此推广善戏,为此,他与其他同人着手搜集整理《庶几堂》遗稿。

督孩演习即组织灾童演戏,是起泉兄即缪起泉的提议:“起翁曾云,已向雪巷沈氏、盛泽王氏募资习戏,山东孩如可收,弟闻信即行,来集一班善戏。弟求延起翁孔亟,故有此说。”求延起翁,指义赈同人为就地抚养灾童,决定在青州成立同善堂,延请其主持堂务一事。起翁此议,乃因袭余治推行善戏的旧策略;随后,值“塔愿分文无存”之际,有人提议“演戏再为募资”,可谓对旧策略的新发展:既寓教于乐,养教灾童;又寓善于乐,助力义赈。

“教堂发赈育孩有害中国,亟宜补救”灾童成为义赈亟需解决的问题。在资金与舆论的挟持下,义赈同人对就地设局、抚教灾童达成共识,但具体如何教化,尚莫衷一是。无论组织灾童演戏、寓教于乐,抑或演戏募资、寓善于乐,诸同人“均不为然”“不以为是”,其论据有二:一则优伶地位低贱,“驱男为优,无异驱女为倡”;二则担心“纵使戏本极善,而演出圣贤之面目,仍怀鬼蜮之心肠”。如此,既驱人从事贱业,使其曲意逢迎、心怀鬼蜮,又恐难收启发善心、募集善款之功,实有违初衷,谢佩孜连发两信劝阻谢家福莫行此事,后者遂在给周思泰的回信中声明“前接各函,已誓不置议矣”

灾童演戏虽无疾而终,上海却提供了另一思路。光绪二年十二月二十六日(1877年2月8日),《申报》登载《论演戏救灾事》,作者闻英人演戏为英国沉船死伤人员家属募捐,联想到另外两事:一是去冬租界法人亦凭此为法国某地灾荒筹赈,一是日前“沪上闻燕台等处灾荒甚巨”,倡议演戏助赈,“无如其人畏难不肯往商”。英法皆可演戏助赈,本国却淡漠置之,令作者慨然写下此文,“盖欲使各戏馆知西人有此办法,或能触目动心,有此一举,亦未可知。”

次年西人再施“鲶鱼效应”,正月十四日《申报》预告“西报云于礼拜五即十八日在外国戏院串作音乐会,所收银则以供济中国饥民也”,所谓“西报”,当指《字林西报》,该报对此次慈善音乐会进行了详细报道:“星期五晚上,绅士与淑女们为救济南门灾民在兰心大剧院举行的音乐会取得成功……出席本次活动的有由美国领事陪同的道台”

为救济中国灾民,西人尚如此出力,本国岂能作壁上观?三月十三日,鹤鸣戏园宣布将“从本月十五日起,至端午日止”所得戏资捐为山东赈款;二十八日,久乐园加入行动,“定四月初二日起试办一月……即以所得票金支发园租工食外,其余全数直缴广肇公所,代交招商局总宪,酌量分寄山东、江北各属助赈。”启事中的广肇公所及招商局,都与义赈有关:义赈同人曾在前者处集议,后者更是义赈中心,果育堂亦先后将所筹善款“附入招商局唐、徐二君速赴淮徐相机接赈”,为义赈输送赈款提供方便。可见戏园不仅主动发起义演,更积极向义赈靠拢。

此后则由义赈同人号召义演,光绪四年四月二十四日(1878年5月25日),“直陕晋豫四省死亡遍野”,主持义赈的“经募司董向各戏园熟商助赈”,得到上海戏园的积极响应。

上海戏园的两次演戏助赈,标志着近代慈善义演的兴起。尽管戏园的主动靠拢使义赈同人共享了对义演的主导权,后者寓善于乐的设想获得实践;但由于他们既无权决定各戏园义演场次的具体演出剧目,又忙于各地赈灾事宜,无暇分身将《庶几堂》新戏整理完毕,故而难以将其借助义演推行,这就导致寓教于乐无从实施,义赈同人将两者并举的设想继续搁浅。

寓教于乐的重音:

慈善义演初兴后的善戏禁淫活动

前人研究光绪四年(1878年)的义演,至四月二十四日的报道便告一段落,未曾注意二十六日刊登的《更正》,自然就更未注意到义演场次中的淫戏演出。据此文称,“昨报登《戏园助赈》一节,兹悉大观园助赈之四期系今夜及五月初七夜、五月十七夜、五月二十七夜也,天仙则本月二十九夜及五月初六夜、五月十三夜、五月二十夜。本报今日登有告白,恐阅者不察,特更正于此。”此文既订正大观园的义演日期,并弥补二十四日报道对天仙园的语焉不详。如此,便可得出各戏园义演场次剧目如表一所示。

表一 戏园义演剧目

与丁日昌、余治淫戏目录相较,表一间或掺有被视为淫戏的剧目。客观来说,淫戏盛行的现状,意味着安排淫戏可吸引观众、增收戏资助赈;但于义赈同人而言,此举无异于打着行善的幌子、做着淫邪的勾当。为此,他们并未因戏园实现了寓善于乐而满足或让步,而是决定继续推进寓教于乐的主张。

光绪庚辰即光绪六年《庶几堂今乐》刻印出版后,谢家福等即着手联络地方官员,“以近来各该戏馆扮演一切淫戏,以显新奇,殊属有害风俗,因议将庶几堂原刻脚本多为刷印,饬发戏园各班中演习”,以善戏取代淫戏。如此,既可借推广善戏收教化之效,又可使戏园继续生存全慈善之功。

官方既已于此前对善戏颇为青睐,又因义赈对谢家福等多有重视,双方一拍即合,苏松太道道台遂依其所禀向各戏园下发饬令:

(1)按《庶几堂今乐》“赶紧依样习熟,以三个月为限,每日夜搭演一出”;(2)淫戏“以出示之日为始,不准再演”。

戏园对饬令视若无睹,以发布饬令后的两日为例,淫戏照旧演出:四月十七日丹桂园日戏《玉堂春》,天仙园夜戏《翠花宫》;十八日大观园日戏《双钉记》,夜戏《小寡妇上坟》,天仙园夜戏《翠屏山》《问病》,丹桂园夜戏《卖胭脂》;对饬令(1)则灵活执行,即遵令排演善戏时予以适度添改(图二)。

图二 《申报》刊载的天仙茶园《魁星现》宣传广告

(1880年6月28日)

前人研究尚未对余治光绪六年(1880年)余治善戏具体演出场次进行细致搜寻,故列为下表二:

表二 余治善戏演出场次

如何适度添改,两戏园一个称是“详细更正”,戏单先以“新□新彩”概括,其后才解释为“多增灯彩,愈觉新奇”;另一个坦白“另加各色灯彩,异样鲜明”,可知都是借灯彩增添视觉效果。戏园虽屈服执行,观众却不能径自更换喜好。

正如表二所示,尽管《庶几堂今乐》“有若干出为各戏园所演熟,中间又自出心裁,加以花样新彩,未尝不足以耸动人之耳目”,但“不知何故而忽又间杂小戏淫戏,官宪知之,重加谕禁,而伶人仍置之不闻”。不仅如此,还有“不肖之辈特为点演淫戏,以为之提倡,于是淫戏愈盛,人心愈坏”,善戏则如昙花一现,“嗣以观者寥寥,旋作旋辍,近则已如《广陵散》矣”,强制推行善戏遭遇失败。

究其原因,其一,戏园虽尽力添改,依旧难掩余治善戏重教化轻剧情的缺陷,“不足极视听之娱”。其二,就其行动来看,余治及其弟子的戏曲改良主张存在重戏曲轻伶人的缺陷,始终居高临下地抱持伶人低贱的偏见,难以调动其积极性。其三,编演善戏既耗时耗力,又观者寥寥,考虑运营成本的戏园自然选择趋利避害。失去戏园的资金支持与伶人凭技艺为之丰满的血肉,善戏只剩下一副并不完整的骨架,难以支撑寓教于乐的完全落地。

寓教于乐的新陈代谢:

从余治的戏曲改良活动到清末戏曲改良运动

善戏禁淫活动的惨淡收场,尚不意味着余治寓教于乐的主张随之折戟。当淫戏愈演愈盛之际,甲午战争的失败使康有为、梁启超将目光聚拢在对日本何以富强的研究与学习之上。为此,康有为专门编订《日本书目志》,在“文学门”下表述了自己对戏曲的认知:“戏曲即古乐府,能深入人心,使人乐,使人悲”,就对民人的教化而言,“以经教愚民,不如小说之易入也,以小说入人心,不如演剧之易动也”,因此他感慨“戏曲,实为六教之大本”

康有为对戏曲教化作用的赞誉,至少部分受到余治的影响。这得益于康氏与义赈同人建立的合作关系,为达成这一关系,康氏特意以称赞余治其人、其事、其弟子的《书余莲珊〈尊小学斋集〉后》一文作为“投名状”,文中提及自己曾阅读《得一录》,有关此书对戏曲教化作用的肯定,前文已有介绍;康有为受此书启发,附之以日人《演剧改良论私考》等书籍的影响,感叹“宜以大儒通人居乐府领之,而后世乃付之优人,故乐亡而俗坏”,言下之意,便是儒士应重拾这一职责。

梁启超更是将儒士放弃职守与戏曲诲淫诲盗、社会道德沦丧联系起来,基于这一认知,他提出“专用俚语,广著群书”,善加利用其优势,以“穷极异形,振厉末俗”。所谓说部,正包含戏曲在内。待逃亡日本,梁启超更意识到“于日本维新之运有大功者,小说亦其一端也”,这样,在清末戏曲改良运动中具有里程碑意义的《论小说与群治之关系》一文遂于1902年出炉:“欲新一国之民,不可不先新一国之小说。……乃至欲新人心,欲新人格,必新小说。何以故?小说有不可思议之力支配人道故。”

1904年,加入戏曲改良运动的陈去病与汪笑侬等创办戏剧杂志《二十世纪大舞台》,特意引余治善戏为其戏曲改良主张大张声势:“当洪杨时,粱溪有奇人余治者,独心知其意。尝谱新剧数十出,皆皮簧俗调,集优伶演之,一时社会颇欢迎焉,即今所传《庶几堂今乐》是也。惟其所交皆迂腐曲谨不阔达之流,不复屑赞助,故其班不久解散,而余治死矣。吾尝求其书读之,觉其所谱演,揆之今日,虽不甚相浃,然其以感发兴起为宗旨,则要足多焉。……吾一读其语,吾未尝不佩其议之坚,识之卓,而惜其不复见于兹日也。”

所谓“独心知其意”,表明陈去病已体悟到余治的良苦用心,遂赓续了其寓教于乐的主张,改良戏曲以改良社会;而所谓“不甚相浃”,乃是指余治借善戏重归儒家道德秩序的方向背离了时代,需着力对此加以革新,改化民救劫为新民救国,“以改革恶俗、开通民智、提倡民族主义、唤起国家思想为唯一之目的”,强调编演新戏是为了“培养公德,保持国粹,研究科学,扩张知识,规其行而矩其步,骎骎乎冀以造成第一完全人格,一朝突侪于伟大军国民之列”,改良风俗与政治,革新社会与国家。

尤为可贵的是,清末戏曲改良运动还以日本与西方国家经验为镜鉴,提出国人应转变对伶人的态度,改善伶人地位。陈独秀就称赞“优伶者,实普天下人之大教师”,指出泰西各国因应戏剧的教化作用,将伶人与文人学士视为同等。1907年寰球中国学生会在慈善演出的说帖中,表示要以学人身份登台演剧,此举不仅有助于提高伶人参与戏曲改良的积极性,还增强了其重视社会公益、承担社会义务的自觉性,为文明新戏改良社会提供充足的动力。

寓教于乐与寓善于乐的双重奏:

清末戏曲改良运动中的慈善义演

1905年,田际云与谭鑫培、余玉琴等人主动组建正乐学堂,“为改良戏剧之基础”,并组织义务茶园为其筹集经费,次年春获知杭州惠兴女士殉身办学事迹后,又与《北京女报》主编张展云合作,排演新戏《惠兴女士传》,将演出所得邮寄文贞女学堂作为办学之用。此后不久,又有义顺和班的崔灵芝排演《女子爱国》,演出“震旦不兴,各国窥伺”“有某女志士恨祖国不能自立,与其兄往东亚留学,以兴祖国”之事,激励国人兴办女学,并以戏资充为国民捐。《京话日报》对此予以肯定,还建议“与其唱两天为止,不如月月在园子唱新戏,每逢排出新戏来,便可加钱报捐”,明确提倡改良新戏参与国民捐。

从筹资组建正乐学堂到编演新戏为兴办女学、国民捐募款,田际云、崔灵芝等伶人不仅参与戏曲改良,还同时使之助力慈善义演。此举绝非偶然,诚如《国华报》所言,越来越多伶人“以改良风俗赞助公益为目的者,而遂开一时演戏筹款之风”。为更直观展示这一风尚,笔者采撷其中典型事例列为表三:

表三 参与慈善义演的清末改良新戏

由上表可以看出,随着清末戏曲改良运动的发生与助力,慈善义演在成为一时风尚的同时,还出现了以下变化:

第一,清末戏曲改良运动既以寓教于乐、新民救国为旨归,其间勃兴的近代国家及民族观念呼唤着对公共利益的重视,由此触发了义演慈善目的的多样化:演戏兴学,支持晚清新政的教育改革,助力社会事业,致力爱国救国等。

第二,慈善义演不仅演戏助力慈善,其本身也成为一种表演,向公众展示戏曲不仅可以娱神娱人,亦可救民救国,慈善公益的观念由此影响日众,招引大众参与义演活动,导致了义演主体的多元化:学校学生、社会团体、票友。。

第三,戏曲改良取材真实的既有主张,触发了表现特定慈善目的剧作的出现,最典型者莫过于田际云为兴办女学筹款而编演的《惠兴女士传》,助力国民捐的《英雄泪》,借演弱国被强国所灭之事,以振奋国民爱国思想,还有为医院募资而编演的《中国人生小囡》。尤为典型的是新型灾荒戏的出现,以慈善目的为演出内容的新剧目,利用戏剧生动的表现力极尽描摹诸情状,使观者身临其境、感同身受,为募得更多赈款做出贡献,尤能体现伶人为之付出的心力,亦真正落实了义赈同人寓教于乐与寓善于乐并举的主张。

对此,公众舆论不吝溢美之词:就义顺和班演《女子爱国》充为国民捐之举,《京话日报》评论称“梨园人如此热心,士大夫真当愧死”,而就田际云因惠兴女士事演戏助学,《大公报》则称赞“热心学界一至于此,庶可为士大夫之向导乎”,还总结诸新戏助慈善事,慨叹“北京戏界果能如此改良,则我辈之对待菊部,宜如何敬重耶。”这种正面评价极大地推进了伶人对自我身份的认同,他们开始以集体的名义参与慈善义演。1907年,北京名伶姜妙香、王琴侬、王凤卿、姚佩秋等为赈济徐海水灾,“谓伶人亦国民之一分子,安可袖手旁观,不起而结合团体以为助善之举哉”,遂成立“伶界义务赈济戏会”

与余治《庶几堂今乐》需官绅借强权逼迫上海各戏园搬演的情形相比,清末戏曲改良运动中的慈善义演展示的全然是另一番场景。借助于运动中所革新的寓教于乐之内涵及提倡的改良伶人地位之外在路径,伶人不再是身份低贱的被动参与者,而是化身“普天下人之大教师”,在完成身份认同与明确社会义务的前提下,主动投身改良运动,积极参与慈善义演,实现了寓教于乐与寓善于乐的并举。

结语

对比晚清两次戏曲改良活动及其后的慈善义演,可以发现其各自关系与结果之不同:前一次余治及义赈同人的戏曲改良活动与初兴的慈善义演无法共容,以致寓教于乐的初衷让位于寓善于乐,后者实现而前者搁浅,象征着善戏活动的失利;而后一次清末戏曲改良运动却与成为一时风尚的慈善义演共容互惠、相得益彰,实现寓教于乐与寓善于乐的并举,保证了运动的持续进行。究其原因,实在于对伶人态度不同所导致的策略偏差。

就余治及义赈同人而言,他们不仅因伶人低贱的偏见自废灾童演戏之说,还无视戏园抛来的橄榄枝,选择通过官府权力强制推行善戏,这种居高临下的态度,自然难以换取伶人心悦诚服的配合。而清末戏曲改良运动则着意拔擢伶人地位,倡导国民改变对伶人的态度,使之一举成为“大教师”,通过报纸的鼓吹与正面评价、学生与商人的登台演剧,使其明了自身的社会职责与义务,以新己助新民,以新民助救国,为晚清中国的近代化转型做出贡献。

本公众号所载内容为研读简版

学术引用务必参考作者原文

如需转载,请注明

推文转载自“丹黄甲乙”公众号

新闻史论研读小组

研读&排版:赵求知

合作导师:郑宇丹

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-21 15:50:14 HTTP/2.0 GET : https://f.sjds.net/a/468025.html
  2. 运行时间 : 0.146771s [ 吞吐率:6.81req/s ] 内存消耗:4,360.55kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=c5cf3726bb8a2df8f955080cd27bc1f9
  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.000932s ] mysql:host=127.0.0.1;port=3306;dbname=f_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001690s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000902s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000750s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001465s ]
  6. SELECT * FROM `set` [ RunTime:0.000585s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001544s ]
  8. SELECT * FROM `article` WHERE `id` = 468025 LIMIT 1 [ RunTime:0.000738s ]
  9. UPDATE `article` SET `lasttime` = 1779349814 WHERE `id` = 468025 [ RunTime:0.002309s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000253s ]
  11. SELECT * FROM `article` WHERE `id` < 468025 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000492s ]
  12. SELECT * FROM `article` WHERE `id` > 468025 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000420s ]
  13. SELECT * FROM `article` WHERE `id` < 468025 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000714s ]
  14. SELECT * FROM `article` WHERE `id` < 468025 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000707s ]
  15. SELECT * FROM `article` WHERE `id` < 468025 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000619s ]
0.148479s