PHP oturum değişkenler yerel değişkenler ile değiştirilebilir?

0 Cevap php

Ben php oturum değişkenleri ve yerel değişkenler açısından çok garip bir sorunla karşılaştık.

Ben php oturumlar hakkında bir şey anlamak değilim, ben anlamaya çalışıyorum ya bu php sürümü ile ilgili bir sorun olup olmadığını benim ana kullanıyor.

Burada garip sorunu göstermek için çok basit bir kod:

session_start();  
var_dump($kenny);  
var_dump($_SESSION['kenny']);  
$_SESSION['kenny']='def';  
var_dump($kenny);  
var_dump($_SESSION['kenny']);  
$kenny = 'abc';  
var_dump($kenny);  
var_dump($_SESSION['kenny']);  

Ben kodu çalıştırmak ilk kez, (bir beklediğiniz gibi) şu sonuçları elde:

NULL NULL NULL string(3) "def" string(3) "abc" string(3) "def"

Ben şimdi bu olsun, (tabii, benim tarayıcıyı kapatmadan) ikinci bir kez çalıştırın!

string(3) "def" string(3) "def" string(3) "def" string(3) "def" string(3) "abc" string(3) "abc" 

Ben böylece bunu bir 3., 4., 5. kez çalıştırın ve, ben bu olsun!

string(3) "abc" string(3) "abc" string(3) "def" string(3) "def" string(3) "abc" string(3) "abc" 

Bu komut dosyası birden fazla kez çalıştırdıktan sonra bir ve diğer oturum değişken 'kenny' ve yerel değişken $ Kenny haline takma ad gibi görünüyor bana. hmm ... Ben gerçekten bu oturum değişkenleri ve yerel değişkenler php nasıl çalıştığını sanmıyorum. Ben burada bir şey eksik varsa lütfen beni düzeltin.

Benim web barındırma php 5.2.2 çalışıyor. Ben php 5.2.1 çalıştıran diğer bilgisayarlar bu aynı kodu çalıştığınızda, 5.2.14 ve 5.3.1, onlar her zaman ne bekliyoruz ver:

1st time:

NULL NULL NULL string(3) "def" string(3) "abc" string(3) "def"

thereafter:

NULL string(3) "def" NULL string(3) "def" string(3) "abc" string(3) "def" 

Ben php.net üzerinde değişiklik günlüğünü kontrol ve ben bu sorunu gidermek olabilir ilgili olabilir bir şey bulamadık. Ama dediğim gibi daha önceki bir yapı (5.2.1) Tamam çalışır, böylece benim için çok şaşırtıcı olduğunu, söz.

Herkes php 5.2.x başka bir sürümünü çalıştıran varsa, bir deneyin vermek ve aynı sorunu görürseniz lütfen bana bildirin. Herkes konuda herhangi bir fikir varsa ya, ben gerçekten herhangi bir geri bildirim takdir ediyorum.

Bir milyon teşekkürler!

0 Cevap