我试过了,我的机子是IIS+PHP,一切正常,没问题呀这的我的php.ini中的设置 [Session] ; Handler used to store/retrieve data. 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. ; As of PHP 4.0.1, you can define the path 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 session.save_path ="c:\temp"; Whether to use cookies. session.use_cookies = 1; This option enables administrators to make their users invulnerable to ; attacks which involve passing session ids in URLs; defaults to 0. ; session.use_only_cookies = 1; Name of the session (used as cookie name). session.name = PHPSESSID; Initialize session on request startup. session.auto_start = 0; Lifetime in seconds of cookie or, if 0, until browser is restarted. session.cookie_lifetime = 0; The path for which the cookie is valid. session.cookie_path = /; The domain for which the cookie is valid. session.cookie_domain =; Handler used to serialize data. php is the standard serializer of PHP. session.serialize_handler = php; Define the probability that the 'garbage collection' process is started ; on every session initialization. ; The probability is calculated by using gc_probability/gc_divisor, ; e.g. 1/100 means there is a 1% chance that the GC process starts ; on each request.session.gc_probability = 1 session.gc_divisor = 100; After this number of seconds, stored data will be seen as 'garbage' and ; cleaned up by the garbage collection process. 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, albeit 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 seperately. At this time, ; the warning is only displayed, if bug_compat_42 is enabled.session.bug_compat_42 = 1 session.bug_compat_warn = 1; 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. session.referer_check =; How many bytes to read from the file. session.entropy_length = 0; Specified here to create the session id. session.entropy_file =;session.entropy_length = 16;session.entropy_file = /dev/urandom; Set to {nocache,private,public,} to determine HTTP caching aspects ; or leave this empty to avoid sending anti-caching headers. session.cache_limiter = nocache; Document expires after n minutes. 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 books. session.use_trans_sid = 0; 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 <input> 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. url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
windows2000 pro sp4
session_register也试过了!!
快点有人解决吧,急啊,自已试了两天都没有结果了~~~:((((((((((
session.name = session_id()
留给未解决的人看看吧,明天结贴顺便问问
大家用session.name = PHPSESSID可以使用session吗?可以用的时候系统配置是怎样,麻烦大家留言了,好让问题能真正清释
[Session]
; Handler used to store/retrieve data.
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.
; As of PHP 4.0.1, you can define the path 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
session.save_path ="c:\temp"; Whether to use cookies.
session.use_cookies = 1; This option enables administrators to make their users invulnerable to
; attacks which involve passing session ids in URLs; defaults to 0.
; session.use_only_cookies = 1; Name of the session (used as cookie name).
session.name = PHPSESSID; Initialize session on request startup.
session.auto_start = 0; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0; The path for which the cookie is valid.
session.cookie_path = /; The domain for which the cookie is valid.
session.cookie_domain =; Handler used to serialize data. php is the standard serializer of PHP.
session.serialize_handler = php; Define the probability that the 'garbage collection' process is started
; on every session initialization.
; The probability is calculated by using gc_probability/gc_divisor,
; e.g. 1/100 means there is a 1% chance that the GC process starts
; on each request.session.gc_probability = 1
session.gc_divisor = 100; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
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, albeit 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 seperately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled.session.bug_compat_42 = 1
session.bug_compat_warn = 1; 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.
session.referer_check =; How many bytes to read from the file.
session.entropy_length = 0; Specified here to create the session id.
session.entropy_file =;session.entropy_length = 16;session.entropy_file = /dev/urandom; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
session.cache_limiter = nocache; Document expires after n minutes.
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 books.
session.use_trans_sid = 0; 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 <input> 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.
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
同时在c:\php下建立tmp目录。2、另,session.cookie_path 的路径千万不能改还是要保持原来的样子
session.cookie_path = /
网上有的文章说要把这改成和session.save_path一样的路径,就这
点把我害了。 改完后重新起动服务器。运行两个文件。test.php<?
session_start();
$_SESSION["mytest"]="give my love.";
echo "<a href=test2.php>go</a>";
?>test2.php<?
session_start();
echo $_SESSION["mytest"];
?> 结果可以让人满意。以上是我以前写的对session的测试,楼主试一下,应该可以解决问题.
另,楼主说"在tmp目录下每运行一次session_start()都会产生一个新的文件了,但session变量总是读取不到??"
请楼主这样试,直接用记事本打开tmp目录中如sess_71b90d336e8546f7bee08436bfb506a4这样
的文件,里面应该有aa|s:9:"haha";这是测试时产生的变量结果.
如果楼主的那个文件根本就没有内容,那就是说,根本没有session变量存入服务器,那是不能
读出来了.不过一般这种情况不会发生的.如果真的是这样,可能唯一的办法是重新装php系统
了.
个人观点,供楼主参考.
错
session.cookie_path = /请注意,这个session.cookie_path是指sessionid在cookie中存放时的路径,而非物理路径当浏览器发出http协议时,会检查document.cookie。并只将其中符合请求的url路径的cookie变量传出。/表示根,以此为路径的cookie变量都会被传递,不受路径限制你设置 session.cookie_path = e:/php/tmp
而在你的url中绝是不会出现此路径的,所以cookie变量PHPSESSID不会被传递。
当然也就“session变量总是读取不到”了
session.cookie_path = e:/php/tmp
错
session.cookie_path = /请注意,这个session.cookie_path是指sessionid在cookie中存放时的路径,而非物理路径当浏览器发出http协议时,会检查document.cookie。并只将其中符合请求的url路径的cookie变量传出。/表示根,以此为路径的cookie变量都会被传递,不受路径限制你设置 session.cookie_path = e:/php/tmp
而在你的url中绝是不会出现此路径的,所以cookie变量PHPSESSID不会被传递。
当然也就“session变量总是读取不到”了
佩服!!:)分析的够透彻,当时我只是找出了怎么解决,却找不出为什么会这样,现在明白了:)
我现在都是把SESSION放在数据库里面