【发布时间】:2014-12-23 14:22:28
【问题描述】:
我的文件中有以下代码 sn-p:-
session_start();
$_SESSION['fromPanel'] = "abcd";
<form method="post" action="/m/xyz.php">
<div class="text inputcaption"><b><?= _("Email")?></b></div>
<input type="email" name="username" value="<?=$objMobile->GetEmail()?>">
</div>
</form>
当文件xyz.php 在发布请求中被调用时,$_SESSION 数组将变为空。请注意 session_start(); 在打印会话数组之前在 xyz.php 中给出。为什么会话数组自己变空。
xyz.php 的代码:
<?php
session_start();
print "<pre>";
print_r($_SESSION);
print "<post>";
?>
请找到通过phpinfo()获取的会话设置;
|---------------------------------|---------------------|---------------------|
| Session Support | enabled | |
| Registered | save handlers | files user |
| Registered | serializer handlers | php php_binary wddx |
| | | |
|---------------------------------|---------------------|---------------------|
| Directive | Local Value | Master Value |
|---------------------------------|---------------------|---------------------|
| session.auto_start | Off | Off |
| session.bug_compat_42 | On | On |
| session.bug_compat_warn | On | On |
| session.cache_expire | 180 | 180 |
| session.cache_limiter | nocache | nocache |
| session.cookie_domain | no value | no value |
| session.cookie_httponly | Off | Off |
| session.cookie_lifetime | 0 | 0 |
| session.cookie_path | / | / |
| session.cookie_secure | Off | Off |
| session.entropy_file | no value | no value |
| session.entropy_length | 0 | 0 |
| session.gc_divisor | 100 | 100 |
| session.gc_maxlifetime | 1440 | 1440 |
| session.gc_probability | 1 | 1 |
| session.hash_bits_per_character | 4 | 4 |
| session.hash_function | 0 | 0 |
| session.name | PHPSESSID | PHPSESSID |
| session.referer_check | no value | no value |
| session.save_handler | files | files |
| session.save_path | C:\Windows\Temp | C:\Windows\Temp |
| session.serialize_handler | php | php |
| session.use_cookies | On | On |
| session.use_only_cookies | Off | Off |
| session.use_trans_sid | 0 | 0 |
|---------------------------------|---------------------|---------------------|
在启用 error_reporting 时,出现以下警告:
Warning: Unknown: open(C:\Windows\Temp\sess_1037ca26d3ebb62017eddc9cbfb107e2, O_RDWR) failed: Invalid argument (22) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (C:\Windows\Temp) in Unknown on line 0
【问题讨论】:
-
愚蠢的问题,但您的 xyz.php 文件顶部是否有相同的
session_start();? -
请向我们展示
xyz.php文件中的代码,您将在其中输出$_SESSION数组以及开始会话的位置! -
当然我已经把 session_start();在 xyz.php 的顶部,但仍然会发生这种情况,我认为与服务器配置或 php.ini 配置相关的东西可能是一个问题。
-
请在更新后的问题中找到 xyz.php 的代码。