每当用户登录我们的 Wiki 时,他们都会收到以下错误:“此 Wiki 使用 cookie 登录用户。您禁用了 cookie。请启用它们并重试。” 即使显示错误,用户实际上已登录并且可以正常进行编辑。如果用户不仔细看,他们无法告诉他们已登录,这会造成混乱,如果有人给我提示,我会很高兴
5 回答
维基媒体的建议是
检查以确保用于存储会话数据的 PHP 目录是可写的。该目录可以在设置php.ini
下的文件中找到session.save_path
。此php.ini
设置中的错误也可能导致其他问题。...(并且)确保 Internet 访客帐户(例如,IUSR_FOOBAR、nobody 或 apache)
session.save_path
对 php.ini 文件的变量中列出的文件夹具有写入权限。
如果您使用的是托管站点,则需要编辑您的 php 脚本配置 (php.ini)。该页面应该包含有关您的 Web 文档根目录的信息。如果已经创建了“tmp”文件夹,请使用它。如果当前设置中没有 tmp 文件夹,请创建一个用户不可浏览的文件夹,并按照上述指示告诉 php.ini 文件该位置。
供将来参考...我们刚刚在 Appropedia 上遇到了类似的问题(同样的错误,但根本无法登录)。原来临时目录已满。清除临时目录,问题解决。
原来临时目录已满
就我而言,这是因为整个分区已满,需要更多空间。
我刚刚遇到的问题是由于使用 C:\windows\temp 作为 PHP 会话和其他数据的基本文件夹默认安装了我们的 PHP。
当然,一旦有人清空临时文件夹,因为它充满了垃圾...... PHP信息的子文件夹也随之而来:\
如果您使用的是 NGINX + PHP-FPM,那么之前的答案可能不会有任何帮助。
从命令行运行:
php-fpm -i|grep --color cookie_path
查看您的 cookie_path 是什么,然后统计文件夹并确保您的 php-fpm 用户对其具有写入权限。
要使用 Nginx 和 Php-Fpm 解决此问题,我必须将我的 cookie_path 从默认的 /(说真的,为什么这是默认的?)更改为 /tmp。
重启nginx和php-fpm后,完美运行。