我怎样才能让我的mediawiki停止思考我的cookies被禁用?

我已经search了半天,如何解决这个问题,并不能弄清楚。 根据Mediawiki网站上的说明,我在维基上创build了一个简单的私人维基后不久,就开始给我这个奇怪的login错误信息: 维基使用cookieslogin用户。 你有cookies被禁用。 请启用它们,然后重试。

如果我删除了这些私人维基设置,即使我尝试login,错误也会消失。但是,我只需要它成为我的团队的私人维基。 那我该怎么办?

这是迄今为止我所做的。 为了安全起见,在改变之后,我试着重新启动Apache:

  • sudo /etc/init.d/apache2 restart

在我的php.ini文件中,我有以下设置:

  • session.save_path =“/ var / lib / php5”
  • session.cookie_secure =安全
  • session.cookie_path = / tmp session.cookie_domain =我的服务器的内部URL(我应该甚至设置这个?这个字段是空的,但没有注释掉)
  • session.referer_check =关

我运行以下以确保文件夹是可写的:

  • sudo chmod -R 1777 / var / lib / php5
  • sudo chmod -R 1777 / tmp

在我的LocalSettings.php文件中,我将以下内容添加到设置文件的底部:

  • session_save_path( “TMP”);
  • $ wgSessionsInObjectCache = true;
  • $ wgMainCacheType = CACHE_ANYTHING;
  • $ wgDebugToolbar = true;
  • $ wgDebugLogFile = '/无功/日志/的mediawiki / mediawiki.log';
  • $ wgShowExceptionDetails = true;
  • $ wgShowDebug = true;
  • $ wgDevelopmentWarnings = true;

对于上面的tmp,我创build了文件夹/ etc / mediawiki / tmp,并运行以下命令:

  • sudo chmod -R 1777 / etc / mediawiki / tmp

我知道cookie传到浏览器,因为我可以在Firebug中看到cookie,并validation在/ tmp文件夹中创build了相同的cookie。

SSL似乎configuration正确,因为我得到了绿色的锁。

这是我尝试login后的debugging输出:

debugging数据:

  • 开始请求

  • POST /mediawiki/index.php?title=Special:UserLogin&action=submitlogin&type=login&returnto=Special:RecentChanges

  • HTTP标题:
  • 主机:bs-wiki.sis.org.cn
  • 连接:保持活力
  • 内容长度:122
  • caching控制:max-age = 0
  • ACCEPT:text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp, / ; q = 0.8
  • ORIGIN: https : //bs-wiki.sis.org.cn
  • 升级 – 缺陷 – 请求:1
  • 用户代理:Mozilla / 5.0(Macintosh; Intel Mac OS X 10_11_3)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 48.0.2564.97 Safari / 537.36
  • 内容types:application / x-www-form-urlencoded
  • DNT:1
  • 参考: https ://bs-wiki.sis.org.cn/mediawiki/index.php ? title = Special:UserLogin & returnto = Special%3ARecentChanges & returntoquery =
  • 接受编码:gzip,放气
  • ACCEPT-LANGUAGE:en-US,en; q = 0.8
  • COOKIE:__gads = ID = f46767e352615a06:T = 1453974579:S = ALNI_MaImAtsIj8Xb-3kERZtmSWx82DxNA; bs_wikiUserName = Rpark1; bs_wikiLoggedOut = 20160128105049; bs_wiki_session = 3fck92pn1uq1l1s852oq6rfdl3

  • CACHES:SqlBagOStuff [主] SqlBagOStuff [消息] SqlBagOStuff [parsing器]

  • 连接到本地主机bs_wiki …
  • 事件探查器::实例调用没有$ wgProfiler ['类']设置,回到ProfilerStub的安全
  • 连接到本地主机bs_wiki。
  • 连接到本地主机bs_wiki …
  • 连接到本地主机bs_wiki。
  • DatabaseBase :: query:写完成:DELETE FROM objectcache WHERE keyname ='bs_wiki:stats:request_with_session'
  • LocalisationCache:使用存储LCStore_DB
  • 从未知的$ wgParser :: setFunctionHook调用$ wgParser
  • parsing器:使用预处理器:Preprocessor_DOM
  • 完全初始化
  • 从未知的$ wgAuth :: validDomain调用$ wgAuth
  • IP:172.18.12.59
  • MessageCache :: load:正在从全局caching中获取en …
  • 从未知的$ wgLang :: _ unstub调用$ wgLang
  • MWCryptRand :: realGenerate:为LoginForm :: setLoginToken / MWCryptRand :: generateHex / MWCryptRand :: realGenerateHex / MWCryptRand :: generate / MWCryptRand :: realGenerate生成encryption随机字节
  • MWCryptRand :: realGenerate:openssl_random_pseudo_bytes产生16个字节的强随机性。
  • MWCryptRand :: realGenerate:缓冲区中剩余的0个字节的随机数。
  • 没有find类SkinVector; 跳过加载
  • 未find类PEAR_Error; 跳过加载

其他地方的报告说,你必须在php.ini中设置session.referer_check = Off

session_save_path("tmp")肯定是错误的,你的目录被称为/tmp 。 (如果你按照JesseG17的build议 ,你忘了第3步。)但是, $wgSessionsInObjectCache = true session.save_path应该是不相关的。

你有$wgMainCacheType = CACHE_ANYTHING ,但是你检查caching实际上工作吗? 按照caching手册,并安装适当的对象caching(这总是一个好主意)。

不知道为什么它现在工作,但从头开始,并返回到原来的说明在https://www.mediawiki.org/wiki/Manual:Preventing_access#Simple_private_wiki现在它的作品。

那么,不完全从头开始,我没有恢复到php.ini的变化。 所以不知道是否修好了。 无论哪种方式,现在正在工作,所以我很高兴…. 🙂

我只是有同样的问题 – 这里的服务器已经用完了磁盘空间。 清理一些空间的伎俩。