如何在php.ini文件中更改session_save_path?

时间:2012-01-19 14:06:40

标签: session shared-hosting

我在godaddy上有一个共享主机。

我尝试使用此行

更改php.ini文件中的会话保存路径
sessions.save_path = "/session"

我用sessions.save_path()函数控制了会话保存路径。它会在更改/tmp

之前和之后返回php.ini

是否可以在共享主机上更改会话保存路径? 我哪里错了?

6 个答案:

答案 0 :(得分:31)

您可以通过创建自定义php.ini来修改共享主机上的会话保存路径。

将此信息包含在您的文件中:session.save_path = "/path/to/your/folder"

否则,您可以使用:

ini_set('session.save_path', '/path/to/your/folder')

您使用的文件夹应位于您的域/帐户下,但无法通过Web浏览器访问。它还需要具有世界可写权限。每个使用会话的页面都必须包含该行。

答案 1 :(得分:6)

它是session.save_path而不是sessions.save_path(它可能已经重命名或其他内容,我不知道,但sessions.save_path对我不起作用)

session.save_path = "/path/to/your/folder" 

工作正常

答案 2 :(得分:1)

请务必注意,session.save_path必须在session_start()之前被调用

答案 3 :(得分:0)

C:\session.

中创建名为session的文件夹

session.save_path();目录更改为新创建的路径:C:\sessiontmp文件夹中的任何位置。

答案 4 :(得分:0)

在此线程的帮助下,这是我如何使会话正常工作。我正在IIS中运行PHP。

在php.ini中设置会话文件夹。

import template from "./directive.lastJob.html";
import mockModuleForDirective from "../specHelpers/mockModuleForDirective.js";

import "angular-mocks"
describe("lastJobDirective", function() {
...

(我不确定此会话文件夹是否是我的环境的最佳实践。.从安全角度考虑。我需要对此进行更多阅读。)

设置会话路径还不够。最初,我将session_start()放在需要设置会话变量的函数中,但是即使在我的路径中创建了会话文件(sess_d9eeeb305928f2f39a25f296773b09eb),在将ajax发布到我的PHP页面时,$ _ SESSION值也会丢失。有人说要把session_start()作为第一行,所以我尝试了这一点,并且我的会话值正在工作。我还没有弄清楚在哪里销毁它。

session.save_path = "C:/inetpub/temp/php_session"

答案 5 :(得分:0)

检查其他文件,例如:php_value[session.save_path]中的/etc/php-fpm.d/www.conf 和网络服务器用户应具有权限。.