php sessionid一直变,php session_id 不停的变化

php sessionid一直变,php session_id 不停的变化请问我的页面上的session_id为什么在不停的变化不是固定的我每刷新一次它就变化一次这个应该是固定的啊是什么问题导致的啊回复讨论(解决方案)浏览器不支持cookie?多半是session.auto_start=1也不排除你的浏览器不支持cookiesession.auto_start=0我的浏览器支持cookie那只能贴代码说话啦rss.phprss.php加url跳转过…

请问 我的页面上的session_id 为什么在不停的变化 不是固定的 我每刷新一次它就变化一次 这个应该是固定的啊

是什么问题导致的啊

回复讨论(解决方案)

浏览器不支持cookie?

多半是 session.auto_start = 1

也不排除你的浏览器不支持 cookie

session.auto_start = 0

我的浏览器支持cookie

那只能贴代码说话啦

rss.php

rss.php加url跳转过去

不要新开浏览器窗口

2222″

?>

一样的效果

在每段代码的后面加上

print_r($_COOKIE);

在每段代码的后面加上

print_r($_COOKIE);

我打印了都是空数组

2222″;

print_r($_COOKIE);

?>

那就是 cookie 不支持了,无论如何 $_COOKIE[‘PHPSESSID’] 都应该有的

你更改了 php.ini 中 session 相关的设置了吗?

我没有改 php.ini 现在要怎么办

现在要怎么解决问题我也郁闷了 怎么没有 phpsession 这个cookie

我的浏览器是支持cookie的 这个不用怀疑

弱弱的问一下,session_id 对程序而言有什么特殊用途吗?通常是操作$_SESSION就可以了吧

你用 setcookie 设一个 cookie 变量再试试是否能读回来

同样的代码 放在别人的电脑上面都可以的 我的是怎么回事啊

echo ini_get(“session.use_cookies”);//这个值多少

你用 setcookie 设一个 cookie 变量再试试是否能读回来

这个可以 我试过了 没有问题

注意开启错误提示看有无错误信息error_reporting(E_ALL);ini_set(‘display_errors’,true);

然后session相关的php.ini配置信息贴出来,大家好帮你分析。

[Session]

; Handler used to store/retrieve data.

; http://php.net/session.save-handler

session.save_handler = files

; Argument passed to save_handler. In the case of files, this is the path

; where data files are stored. Note: Windows users have to change this

; variable in order to use PHP’s session functions.

;

; The path can be defined as:

;

; session.save_path = “N;/path”

;

; where N is an integer. Instead of storing all the session files in

; /path, what this will do is use subdirectories N-levels deep, and

; store the session data in those directories. This is useful if you

; or your OS have problems with lots of files in one directory, and is

; a more efficient layout for servers that handle lots of sessions.

;

; NOTE 1: PHP will not create this directory structure automatically.

; You can use the script in the ext/session dir for that purpose.

; NOTE 2: See the section on garbage collection below if you choose to

; use subdirectories for session storage

;

; The file storage module creates files using mode 600 by default.

; You can change that by using

;

; session.save_path = “N;MODE;/path”

;

; where MODE is the octal representation of the mode. Note that this

; does not overwrite the process’s umask.

; http://php.net/session.save-path

session.save_path = “d:/wamp/tmp”

; Whether to use cookies.

; http://php.net/session.use-cookies

session.use_cookies = 1

; http://php.net/session.cookie-secure

;session.cookie_secure =

; This option forces PHP to fetch and use a cookie for storing and maintaining

; the session id. We encourage this operation as it’s very helpful in combatting

; session hijacking when not specifying and managing your own session id. It is

; not the end all be all of session hijacking defense, but it’s a good start.

; http://php.net/session.use-only-cookies

session.use_only_cookies = 1

; Name of the session (used as cookie name).

; http://php.net/session.name

session.name = PHPSESSID

; Initialize session on request startup.

; http://php.net/session.auto-start

session.auto_start = 0

; Lifetime in seconds of cookie or, if 0, until browser is restarted.

; http://php.net/session.cookie-lifetime

session.cookie_lifetime = 1000

; The path for which the cookie is valid.

; http://php.net/session.cookie-path

session.cookie_path = /

; The domain for which the cookie is valid.

; http://php.net/session.cookie-domain

session.cookie_domain =80tao.dev

; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.

; http://php.net/session.cookie-httponly

session.cookie_httponly =

; Handler used to serialize data. php is the standard serializer of PHP.

; http://php.net/session.serialize-handler

session.serialize_handler = php

; Defines the probability that the ‘garbage collection’ process is started

; on every session initialization. The probability is calculated by using

; gc_probability/gc_divisor. Where session.gc_probability is the numerator

; and gc_divisor is the denominator in the equation. Setting this value to 1

; when the session.gc_divisor value is 100 will give you approximately a 1% chance

; the gc will run on any give request.

; Default Value: 1

; Development Value: 1

; Production Value: 1

; http://php.net/session.gc-probability

session.gc_probability = 1

; Defines the probability that the ‘garbage collection’ process is started on every

; session initialization. The probability is calculated by using the following equation:

; gc_probability/gc_divisor. Where session.gc_probability is the numerator and

; session.gc_divisor is the denominator in the equation. Setting this value to 1

; when the session.gc_divisor value is 100 will give you approximately a 1% chance

; the gc will run on any give request. Increasing this value to 1000 will give you

; a 0.1% chance the gc will run on any give request. For high volume production servers,

; this is a more efficient approach.

; Default Value: 100

; Development Value: 1000

; Production Value: 1000

; http://php.net/session.gc-divisor

session.gc_divisor = 1000

; After this number of seconds, stored data will be seen as ‘garbage’ and

; cleaned up by the garbage collection process.

; http://php.net/session.gc-maxlifetime

session.gc_maxlifetime = 1440

; NOTE: If you are using the subdirectory option for storing session files

; (see session.save_path above), then garbage collection does *not*

; happen automatically. You will need to do your own garbage

; collection through a shell script, cron entry, or some other method.

; For example, the following script would is the equivalent of

; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):

; cd /path/to/sessions; find -cmin +24 | xargs rm

; PHP 4.2 and less have an undocumented feature/bug that allows you to

; to initialize a session variable in the global scope, even when register_globals

; is disabled. PHP 4.3 and later will warn you, if this feature is used.

; You can disable the feature and the warning separately. At this time,

; the warning is only displayed, if bug_compat_42 is enabled. This feature

; introduces some serious security problems if not handled correctly. It’s

; recommended that you do not use this feature on production servers. But you

; should enable this on development servers and enable the warning as well. If you

; do not enable the feature on development servers, you won’t be warned when it’s

; used and debugging errors caused by this can be difficult to track down.

; Default Value: On

; Development Value: On

; Production Value: Off

; http://php.net/session.bug-compat-42

session.bug_compat_42 = On

; This setting controls whether or not you are warned by PHP when initializing a

; session value into the global space. session.bug_compat_42 must be enabled before

; these warnings can be issued by PHP. See the directive above for more information.

; Default Value: On

; Development Value: On

; Production Value: Off

; http://php.net/session.bug-compat-warn

session.bug_compat_warn = On

; Check HTTP Referer to invalidate externally stored URLs containing ids.

; HTTP_REFERER has to contain this substring for the session to be

; considered as valid.

; http://php.net/session.referer-check

session.referer_check =

; How many bytes to read from the file.

; http://php.net/session.entropy-length

session.entropy_length = 0

; Specified here to create the session id.

; http://php.net/session.entropy-file

;session.entropy_file = /dev/urandom

session.entropy_file =

; http://php.net/session.entropy-length

;session.entropy_length = 16

; Set to {nocache,private,public,} to determine HTTP caching aspects

; or leave this empty to avoid sending anti-caching headers.

; http://php.net/session.cache-limiter

session.cache_limiter = nocache

; Document expires after n minutes.

; http://php.net/session.cache-expire

session.cache_expire = 180

; trans sid support is disabled by default.

; Use of trans sid may risk your users security.

; Use this option with caution.

; – User may send URL contains active session ID

; to other person via. email/irc/etc.

; – URL that contains active session ID may be stored

; in publically accessible computer.

; – User may access your site with the same session ID

; always using URL stored in browser’s history or bookmarks.

; http://php.net/session.use-trans-sid

session.use_trans_sid = 0

; Select a hash function for use in generating session ids.

; Possible Values

; 0 (MD5 128 bits)

; 1 (SHA-1 160 bits)

; http://php.net/session.hash-function

session.hash_function = 0

; Define how many bits are stored in each character when converting

; the binary hash data to something readable.

; Possible values:

; 4 (4 bits: 0-9, a-f)

; 5 (5 bits: 0-9, a-v)

; 6 (6 bits: 0-9, a-z, A-Z, “-“, “,”)

; Default Value: 4

; Development Value: 5

; Production Value: 5

; http://php.net/session.hash-bits-per-character

session.hash_bits_per_character = 5

; The URL rewriter will look for URLs in a defined set of HTML tags.

; form/fieldset are special; if you include them here, the rewriter will

; add a hidden field with the info which is otherwise appended

; to URLs. If you want XHTML conformity, remove the form entry.

; Note that all valid entries require a “=”, even if no value follows.

; Default Value: “a=href,area=href,frame=src,form=,fieldset=”

; Development Value: “a=href,area=href,frame=src,input=src,form=fakeentry”

; Production Value: “a=href,area=href,frame=src,input=src,form=fakeentry”

; http://php.net/url-rewriter.tags

url_rewriter.tags = “a=href,area=href,frame=src,input=src,form=fakeentry”

session.cookie_domain =80tao.dev

这个值去掉吧,,你确认需要?

这个是我项目的一个 配置 有影响吗

你说的去掉指的是什么意思

session.cookie_domain =80tao.dev

把这个去掉就可以了

但是为什么啊

session.cookie_domain =80tao.dev

把这个去掉就可以了

但是为什么啊

看命名还不清楚啊,,限制域啦

那个是设置session对应的cookie在什么域有效的

你是本地测试么?是http://localhost这么去访问你的项目的么?是的话就去掉,如果是正式站点,你改成#注意加的那个点,表明所有子域有效,包括wwwsession.cookie_domain = .80tao.dev

试下。

我填写那个域为什么就不行了啊 默认是空的 为什么 给我解释一下吧

那个是设置session对应的cookie在什么域有效的

你是本地测试么?是http://localhost这么去访问你的项目的么?是的话就去掉,如果是正式站点,你改成

PHP code

#注意加的那个点,表明所有子域有效,包括www

session.cookie_domain = .80tao.dev

试下。

这个很奇怪啊,我好像没见过.dev的正式域名,有吗?

session.cookie_domain =80tao.dev

表示 session 只在 80tao.dev 域有效

所以需要也在这个域中测试你的代码

引用 24 楼 的回复:

session.cookie_domain =80tao.dev

把这个去掉就可以了

但是为什么啊

看命名还不清楚啊,,限制域啦

我是本地反问

我填写那个域为什么就不行了啊 默认是空的 为什么 给我解释一下吧

是我本地的虚拟主机 配置的虚拟域名

引用 26 楼 的回复:

那个是设置session对应的cookie在什么域有效的

你是本地测试么?是http://localhost这么去访问你的项目的么?是的话就去掉,如果是正式站点,你改成

PHP code

#注意加的那个点,表明所有子域有效,包括www

session.cookie_domain = .80tao.dev

试下。

这个很奇怪啊,我好像没……

怎么一说还真是,有点奇葩了,我也没见过dev的域名。

这个很奇怪啊,我好像没见过.dev的正式域名,有吗?

是我本地的虚拟主机 配置的虚拟域名

好吧 表示我不知道

知道这个是个老帖了,可是我最近也遇到这个问题了。也是session_id不段变化,无法做购物车。然后我人为地用session_id(“某个值’),可是竟然session不会过期了,无论怎样关浏览器,上一个会话还是存在。希望有大神在这里给我解答一下。谢谢了

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/13408.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注