如何修复MediaWiki错误"Wiki使用cookie登录用户.您已禁用cookie.请启用它们并重试."?

Jes*_*G17 11 php cookies wiki mediawiki

我遇到的问题是我无法登录到我使用MediaWiki制作的新创建的wiki.我在网上搜索了一个答案,我找到的那些没有帮助解决这个问题(比如这个:mediawiki cookies的问题)我尝试过多个浏览器并更改了设置以确保启用了cookie,但是我一直得到同样的错误:

" Wiki使用cookie登录用户.您已禁用cookie.请启用它们并重试. "

我不确定这是当前版本的PHP(目前是5.3)还是我的wiki中的设置有问题.

Jes*_*G17 10

我发现了一个修复程序,我会把它分成几步:

  1. 打开 LocalSettings.php
  2. 转到页面底部,然后输入以下代码: session_save_path("tmp");
  3. tmp在安装了MediaWiki的文件夹中创建一个名为的目录.

  • 很高兴你修好了.我不熟悉这个软件,但它是安装网站的Web根目录的位置?如果是这样,请尝试访问`http:// yoursite/tmp`和`http:// yoursite/tmp/<cookie-file>`以确保它们不可访问.如果您可以通过浏览器看到 - 特别是第一个,可能是目录索引! - 那你就有安全问题了. (3认同)
  • @halfer:我刚要提到同样的事情.(Ps.对于MediaWiki,更可能的URL就像`http:// yoursite/w/tmp /`.) (2认同)

Dev*_*ops 5

如果您使用NGINX + PHP-FPM,之前的答案可能无法解决您的问题.

根据我的经验,当php-fpm没有对cookie_path的写访问权时,会导致此问题.您可以通过运行找到此路径:

php-fpm -i|grep --color cookie_path
Run Code Online (Sandbox Code Playgroud)

查看您的cookie_path是什么,然后统计该文件夹并确保您的php-fpm用户具有写入权限.

要使用Nginx和Php-Fpm来解决这个问题,我不得不将我的cookie_path从它的默认值/(严重的,为什么这是默认值?)改为/ tmp.

重新启动nginx和php-fpm后,它完美运行.