我在我的小项目中使用的会话遇到了一些麻烦:
PHP Notice: Undefined index: user_ID in ../config/sessions_class.php on line 29
(这是来自nginx的error.log)
如果尝试将会话的保存path设置为memcache,并设置为/ var / lib / php5 / sessions。 会话文件实际上是在会话目录中创build的,所以用户权限必须是正确的。 我目前正在将用户设置保存到index.php上的会话,例如$ _SESSION ['user_ID'],然后redirect到anotherpage.php。 如果我尝试检索$ _SESSION ['user_ID']那里我得到未定义的索引错误。 session_start被调用了几次,但这不应该是我猜的问题。
任何build议的问题可能是? 如果你愿意,我可以追加nginx.conf或php.ini文件。
编辑:我得到了Suhosin PHP Hardening – 这可能会干扰全球SESSIONvariables的任何机会?
这是你的$ _SESSION超全局数组(当没有定义索引时,大多数其他数组的行为)的PHP通知。
通知表明,当$ _SESSION检查一个名为“user_ID”的键时,没有find; 你会看到这个通知,如果你有像下面这样的条件:
if ( $_SESSION['user_ID'] != 0 ) { // ... }
一种解决方法是在$ _SESSION ['user_ID']上使用isset()函数:
if ( isset( $_SESSION['user_ID'] ) ) { // ... }
如果您不想在日志中看到通知,则可以考虑重新访问错误报告configuration 。