2016-10-09 4 views
13

मैं PHP 5.6 से PHP 7 तक अपग्रेड कर रहा हूं और एक अजीब समस्या आई।

<?php 
    session_start(); 
    $_SESSION['test'] = true; 
    $var = $_SESSION; 
    session_unset(); 
    print_r($var); 

पीएचपी 5.6 आउटपुट:

Array 
(
    [test] => 1 
) 

पीएचपी 7 आउटपुट:

Array 
(
) 

मुझे लगता है क्योंकि $_SESSION संदर्भ द्वारा पारित हो जाता है यह हो रहा है, लेकिन क्यों?

+1

MCVE: https://3v4l.org/Lg0IE – Pete

+3

करने के लिए परिवर्तन: '$ var = & $ _ सत्र;' सभी पीएचपी संस्करणों में एक ही व्यवहार मिलता है। मुझे संदेह है कि आप पहले PHP संस्करण के साथ 'लिखने पर प्रतिलिपि' से मिले थे। https://3v4l.org/vv9PU –

+0

तो मैं कि मैं एक खाली सरणी मिलता है, लेकिन मैं में '$ var' –

उत्तर

3

निष्कर्ष के लिए, यह एक बग है कि अब PHP 7.0.13 के साथ शुरू तय हो गई है था। प्रश्न की टिप्पणियों में विवरण।

संबंधित मुद्दे