【发布时间】:2020-05-05 18:01:09
【问题描述】:
我几乎到处寻找并尝试了几乎所有方法,但我似乎无法让这些 PHP 会话正常工作。这是我的设置:
我正在本地运行一个 ReactJS 应用程序,它在 Web 服务器上调用一些 PHP 脚本(使用 axios)来处理 MySQL 数据库上的基本 CRUD 操作。我正在尝试使用 PHP 会话,并且 创建 会话没有问题,但是每次我调用脚本来读取或插入数据时,都会生成一个新的会话 ID,并且我会丢失我的会话变量。
我在每个脚本的开头都包含了 session_start(),仅刷新页面就会生成一个新的会话 ID。
我已经尝试了 php.ini 中我能想到的几乎所有值,但似乎没有任何效果。
session.auto_start Off
session.cache_expire 1
session.cache_limiter nocache
session.cookie_domain no value
session.cookie_httponly no value
session.cookie_lifetime 14400
session.cookie_path /
session.cookie_secure no value
session.gc_divisor 1000
session.gc_maxlifetime 14400
session.gc_probability 1
session.lazy_write On
session.name PHPSESSID
session.referer_check no value
session.save_handler files
session.save_path {hidden stuff}/var/php_sessions
session.serialize_handler php
session.sid_bits_per_character 5
session.sid_length 32
session.upload_progress.cleanup On
session.upload_progress.enabled On
session.upload_progress.freq 1%
session.upload_progress.min_freq 1
session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix upload_progress_
session.use_cookies 1
session.use_only_cookies 0
session.use_strict_mode 0
session.use_trans_sid 0
会话肯定是在正确的位置正确创建的,但由于创建了新会话,因此实际上并没有恢复会话。
【问题讨论】:
-
向站点添加了一个简单的会话命中计数器,它可以工作。想知道这是否与反应(axios)如何调用脚本有关。每次调用 PHP 脚本时,它可能会创建一个新的“会话”?