thinkphp5 报 session_save_path(): Cannot change save path when session is active这个错
时间: 2024-03-23 07:40:59 浏览: 114
这个错误是因为在 session 已经激活的情况下尝试更改 session 存储路径导致的。解决方法是在调用 `session_save_path()` 函数之前先调用 `session_write_close()` 函数关闭当前的 session。具体代码如下:
```php
session_write_close(); // 关闭当前 session
session_save_path('/your/path/here'); // 设置新的 session 存储路径
session_start(); // 重新开启 session
```
另外,建议在更改 session 存储路径之前先检查当前 session 是否已经激活。具体代码如下:
```php
if (session_status() !== PHP_SESSION_ACTIVE) {
session_save_path('/your/path/here');
session_start();
}
```
这样可以避免因为重复开启 session 导致的错误。
相关问题
thinkphp5 突然报 session_save_path(): Cannot change save path when session is active
这个错误提示是因为在 PHP 的 session 功能启用之后,尝试修改 session_save_path() 函数的保存路径。在一些情况下,这可能会导致无法写入会话数据或者会话丢失。
解决这个问题的方法是,在使用 session_start() 之前,调用 session_save_path() 函数来设置会话的保存路径。如果 session 已经启用,那么就不再修改保存路径。例如:
```
if (!session_id()) {
session_save_path('/path/to/session/save/dir');
session_start();
}
```
这样就可以避免在已经启用 session 的情况下修改保存路径,从而避免出现报错。
阅读全文