moodle“无法初始化 PHP 会话,请验证您的浏览器是否接受 cookie。”

Hue*_*Tan 2 cookies session google-chrome moodle session-cookies

我正在尝试在本地安装 MOODLE,但遇到了这个问题

Can not initialize PHP session, please verify that your browser accepts cookies.
Run Code Online (Sandbox Code Playgroud)

我正在尝试按照以下步骤启用 cookie(我使用的是 Chrome) https://support.google.com/accounts/bin/answer.py?hl=en&answer=61416

我还尝试配置 php.ini
http://support.qualityunit.com/021373-How-To-Enable-Session-Support-for-PHP

但还是无法解决

有人可以帮助我吗?

php configuration <br/>
session
Session Support enabled
Registered save handlers    files user
Registered serializer handlers  php php_binary wddx

Directive   Local Value Master Value
session.auto_start  Off Off
session.cache_expire    180 180
session.cache_limiter   nocache nocache
session.cookie_domain   no value    no value
session.cookie_httponly Off Off
session.cookie_lifetime 0   0
session.cookie_path /   /
session.cookie_secure   Off Off
session.entropy_file    no value    no value
session.entropy_length  0   0
session.gc_divisor  1000    1000
session.gc_maxlifetime  1440    1440
session.gc_probability  1   1
session.hash_bits_per_character 5   5
session.hash_function   0   0
session.name    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    files   files
session.save_path   D:\EasyPHP-12.1/tmp D:\EasyPHP-12.1/tmp
session.serialize_handler   php php
session.upload_progress.cleanup On  On
session.upload_progress.enabled On  On
session.upload_progress.freq    1%  1%
session.upload_progress.min_freq    1   1
session.upload_progress.name    PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS <br/>
session.upload_progress.prefix  upload_progress_    upload_progress_ <br/>
session.use_cookies On  On <br/>
session.use_only_cookies    On  On <br/>
session.use_trans_sid   0   0 <br/>
Run Code Online (Sandbox Code Playgroud)

txy*_*oji 6

通常这是 php 配置问题,php 无法写入会话文件夹。确切的路径和用户因操作系统而异,但我将尝试进行总结。

首先,我们需要查看会话是否是问题所在,但我们需要知道 php 使用哪个配置文件以及其保存会话的路径。要做到这一点:

  1. 在您的moodle安装文件夹中创建一个名为info.php的新文件,
  2. 添加<?php phpinfo(); ?>
  3. 并保存。
  4. 将您的浏览器发送到网络服务器上的该页面。

这将向您展示以下几件事:

  • “session.save_path”是 php 尝试保存会话文件的位置。
  • “APACHE_RUN_USER”是 apache 运行时的用户。
  • “加载的配置文件”将显示 php 正在从哪个文件读取这些设置。

如果设置了 session.save_path,请检查该文件夹的权限。它们应该由 Web 服务器用户拥有。解决该问题后,重新加载 Moodle 屏幕。

如果您的 session.save_path 未设置,请暂时将其设置为“/tmp/”。这是一个始终可写的位置,但不太安全。重新启动您的网络服务器并重新加载 Moodle 屏幕。