按 ‘ 维基 ’ 标签归档

magic quotes

这篇博文里涉及两个问题。一是Mediawiki显示空白,二是在托管共享服务器上关掉自己PHP环境里的magic quotes。

对于第一个问题,我找到了原因但是没在上面费时间;解决了第二个问题,第一个问题也就N/A了。

 

先说事情的缘起。最近发现我那个自用小Wiki出状况了,所有页面都显示空白正文,只剩标题和Wiki标准界面菜单。

如果点“编辑”,就能在编辑框里看到正文。做一些改动再打开,可以看到词条内容确实被改动过。这是个很好的信号,说明数据库里的内容都还在,而且存取都没问题,只是后续的处理和显示出错了。

大致搜了一下网上内容,有遇到完全相同症状的,说是PHP的PCRE版本升级了,而低版本的Mediawiki代码会出错。方案是降级PCRE或者升级Mediawiki。

降级PCRE是不可能的了,Mediawiki早该升级了。

那就升吧。

 

  1. 下载Mediawiki。
  2. 解压。
  3. 上传到服务器上的一个新路径下。
  4. 把旧Wiki里的images目录拷过去。
  5. 把旧wiki里的LocalSettings.php改一下$wgScriptPath,拷过去。
  6. 浏览器上打开新路径的Wiki链接/mw-config,按指示操作。
  7. 确认新版本运行正常。
  8. 删除旧Wiki目录。
  9. 把新Wiki目录改为旧Wiki曾用名。
  10. 把LocalSettings.php的$wgScriptPath改回来。

 

做到第六步时报错了,说新版Mediawiki不能在magic_quotes_gpc打开的情况下运行,让我关掉。

magic_quotes_gpc是PHP_INI_PERDIR级别的,不能够被程序软关,就是说在LocalSettings.php里调用ini_set没用,必须在类似php.ini这类系统级设置里硬关。

可系统不是我一个人的,我只能局部定制。

 

直接在.htaccess里写

php_flag magic_quotes_gpc Off

刷,产生“500 Internal Server Error”错误。据说如果PHP在Apache上不是以Module运行,则会看到这个错误号。这条路走不通了,再来。

 

写个PHP脚本,只有一句话:phpinfo(); 上传运行。阅读phpinfo()的输出,找到PHP初始设置都用了哪些.ini文件。

再写个PHP脚本,只有一句话readfile($_GET[file]); 上传运行,把.ini文件一个个读出内容来,拼接成一个php.ini,在文件末尾附上

    magic_quotes_gpc = Off

在.htaccess里放一句

    SetEnv PHPRC 新php.ini全路径名

上传,再刷,没关掉……

 

几乎山穷水尽时留意到了phpinfo输出的这一栏:

    user_ini.filename     .user.ini

对啊,PHP_INI_PERDIR的说明里也提到了.user.ini,我早该用这个最省力的方法。

创建一个.user.ini文件,把“magic_quotes_gpc = Off”写到里面,上传到Wiki主目录下。再刷,呼,终于行了。

哈士奇

阿蒙森的南极考察

阿蒙森的南极考察
图片来自维基百科

起初我好奇,阿蒙森去南极点时,是怎么坦然地把团队的性命交给一群撒手没的二货哈士奇的,后来仔细查证后发现,他用的狗不是现在满大街的哈士奇(西伯利亚雪撬犬),而是格陵兰犬(还是“哈士奇”这个大类别下的)。

图片和知识来自维基百科

信使号

学习维基:水星探测器“信使号”英文缩写:MESSENGER,全写: MErcury Surface, Space ENvironment, GEochemistry and Ranging,意译为“水星表面、太空环境、地球化学与广泛探索”。这个缩写太巧妙了,而且墨丘利的职业也正好是信使。

北极“企鹅”

曾经以为北极有过企鹅,但后来因人类捕杀而灭绝。学习维基后知道这种“企鹅”实际上是大海雀(pinguinus impennis),鸻形目,海雀科。企鹅的分类是企鹅目,企鹅科。

学习维基——关于旅鸽

学习维基:旅鸽曾经是世界上最常见的一种鸟类。据估计,过去曾有多达50亿只的旅鸽生活在美国。它们是共同生活的一大群──最大可达宽1.6公里和长500公里的飞行团,需要花上几天的时间才能穿过一个地区,而其中大约包含10亿只的个体。后来推论是由于被人类大量食用而灭绝,绝种年份在1914年。

学习维基——周厉王的穿越

学习维基是一个好习惯,今天我看到了周厉王。“路人以目”是个很多人都知道的成语,不过它背后的故事更给人一种奇异的穿越感。

周厉王贪财好利。臣子荣夷公教唆厉王对山林川泽的物产实行“专利”(国营垄断),由天子直接控制,不准平民进山林川泽谋生。厉王听了很中意,推行了此政策。平民断了生路,怨声四起,纷纷咒骂。厉王又派佞臣卫巫于监视百姓,将许多不满的平民捕来杀死。后来连不少没有发过怨言的平民也被杀。

厉王的高压政策,使得亲友熟人在路上遇到了都不敢互相招呼,只能看上一眼(道路以目),使都城变得死气沉沉。周厉王却还自以为得计,得意洋洋地说:“我自有办法叫百姓不敢诽谤我。”

周厉王的暴政使国人忍无可忍,前842年,都城四郊的国人自发集结,手持木棍农具作武器,扑向都城的王宫。厉王听到由远而近的呼喊声,忙命令镇压。可是没有士兵肯听从命令。臣下说:“周朝寓兵于农,所有士兵出身都是农民,而农民供养着我们的士兵。现在连农民都暴动了,还有谁能被调集呢?”

学习完才知道,原来周厉王这么有现代头脑,又懂得和谐社会,又会玩征地。看看维基,看看眼前,十分穿越,怀疑自己是厉王时人,大梦未醒。也有可能厉王是现代人穿越过去的……

尾声:都城中的平民在大臣周定公、召穆公的极力劝解下,终于平息了一些怨恨,纷纷离去。此时宗周无主,周公召公根据贵族们的推举,暂理政事,重要政务由六卿合议。这种政体,称为共和(一说由共国国君共伯和代行天子职务)。史称“周召共和”或“共和行政”——伟大的历史啊,请继续你穿越的脚步!

腰间的炸药

刚刚从维基百科上学习到的:“每公斤TNT炸药可产生420万焦耳的能量。值得注意的是三硝基甲苯比脂肪(3800万焦耳/公斤)和糖(1700万焦耳焦耳/公斤)释放更少的能量……”这么说,俺的游泳圈上揣着多少炸药啊。