php

PHP'de getenv() işlevinin kullanımı

PHP'de getenv() işlevinin kullanımı
PHP'de ortam değişkenleri, uygulamayı kurmak ve farklı veri türlerini sunucudan dinamik olarak almak için kullanılır. Veritabanı kimlik bilgileri, API anahtarları vb., herhangi bir yapılandırma dosyası kullanmak yerine ortam değişkeni aracılığıyla kod tarafından görülebilir. Herhangi bir PHP betiği çalıştığında, gerekli tüm ortam değişkenlerini sunucudan devralır. PHP'de ortam değişkenlerini okumanın iki yolu vardır. Biri getenv() işlev ve diğeri $_ENV dizi. getenv() işlevinin kullanımları bu öğreticide gösterilmiştir.

Sözdizimi:

getenv() işlevi argümanlı veya argümansız olarak kullanılabilir. Bu işlev argümanları kullandığında, dize değerini döndürür ve işlev argüman kullanmadığında bir dizi döndürür. Bu işlevin her iki sözdizimi de aşağıda gösterilmiştir:

string getenv ( string $varname [, bool $local_only = false ] )

Yukarıdaki sözdizimine göre, getenv() işlevi iki argüman alabilir. İlk argüman zorunludur ve okunması gereken ortam değişkeninin adını almak için kullanılır. İkinci bağımsız değişken, varsayılan bir FALSE değeriyle isteğe bağlıdır. İkinci bağımsız değişkende DOĞRU kullanıldığında, bu işlev yalnızca yerel ortam değişkenlerini döndürür.

dizi getenv()

Yukarıdaki sözdizimine göre, getenv() işlevi herhangi bir argüman olmadan çağrılabilir.

Örnek 1: getenv() değişkeninin argümansız kullanımı

Aşağıdaki örnek, PHP'nin kurulu sürümünün ortam değişkenlerinin listesini gösterecektir. getenv() işlevini kullanarak ortam değişkenlerinin listesini almak için aşağıdaki komut dosyasıyla bir PHP dosyası oluşturun.

getenv() işlevi, komut dosyasında herhangi bir argüman olmadan çağrılır ve döndürülen değerler adlı bir dizide saklanır $env_array. Bu dizinin değerleri kullanılarak yazdırılır foreach döngü.

// getenv() fonksiyonunu argümansız çağır
$env_array =getenv();
Eko "

Değerleri olan ortam değişkenlerinin listesi:

";
//Tüm ortam değişkeni adlarını değerlerle yazdır
foreach ($env_array as $key=>$value)

echo "$anahtar => $değer
";

?>

Çıktı:

Komut dosyasını sunucudan çalıştırdıktan sonra aşağıdaki çıktı görünecektir. PHP'nin tüm ortam değişkenlerinin listesini gösterir. Bu çıktı, PHP sürümüne ve PHP'nin çalıştığı işletim sistemine göre değişebilir.

Örnek 2: Belirli ortam değişkenlerini okuyun

Aşağıdaki örnek, belirli ortam değerlerini okumanın yolunu gösterir. Aşağıdaki komut dosyasıyla bir PHP dosyası oluşturun.

Dört ortam değişkeni, getenv() işlevi kullanılarak yazdırılır. "DİL" getenv() işlevinde PHP betiği için hangi dilin ayarlanmış olduğunu okumak için kullanılır. "LC_TIME" PHP'de kullanılan tarih ve saat biçimlendirme adını okumak için getenv() işlevinde kullanılır. “APACHE_LOG_DIR” getenv() işlevinde Apache'nin günlük dizinini okumak için kullanılır. "YOL" getenv() işlevinde, yolda depolanan değerleri okumak için kullanılır.

//Kullanılan dil adını yazdır
Eko " Dil: " . getenv("DİL"). "
";
//Kullanılan tarih ve saat biçimlendirme adını yazdır
Eko " Yerel zaman: " . getenv("LC_TIME"). "
";
//Apache sunucusunun günlük dizini adını yazdırın
Eko " Apache Günlük Dizini: " . getenv("APACHE_LOG_DIR"). "
";
//PATH değişkeninin değerlerini yazdır
Eko " PATH değerleri şunlardır: " . getenv("YOL");
?>

Çıktı:

Komut dosyasını sunucudan çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Dört ortam değişkeninin değerlerini gösterir.

Örnek 3: Ortam değişkenini tanımlayın ve okuyun

getenv() işlevi, PHP'nin yerleşik ortam değişkenlerinin listesini döndürür. Ancak kodlayıcının programlama amacıyla herhangi bir yeni ortam değişkeni yaratması gerekiyorsa, bunu yapabilirler. putenv() işlevi, değeri olan yeni bir ortam değişkeni oluşturmak için kullanılabilir. Yeni bir ortam değişkeni oluşturmak için, değişken adı, eşittir işareti(=) ve değişkenin değeri, putenv() işlevinin bağımsız değişken değeri olarak kullanılacak tırnak içine alınır. Ancak herhangi bir yerleşik ortam değişkeninin değeri, putenv() işlevi kullanılarak değiştirilemez.

Aşağıdaki örnek, putenv() işlevini kullanarak yeni bir ortam değişkeni oluşturmanın yolunu gösterir ve yeni oluşturulan ortam değişkenini getenv() işlevini kullanarak okur. Aşağıdaki komut dosyasıyla bir PHP dosyası oluşturun.

"REMOTE_ADDR", komut dosyasının başında yazdırılan bir değere sahip yerleşik bir ortam değişkeni adıdır. Ardından, bu değişken için yeni bir değer belirlenir ve tekrar yazdırılır. Bir değerle “MY_ENV_VAR” adlı yeni bir ortam değişkeni oluşturulur ve daha sonra yazdırılır.

// REMOTE_ADDR'nin geçerli değerini yazdır
Eko " Geçerli Uzak Adres: " . getenv("UZAKTAN_ADDR"). "
";
// Yerleşik REMOTE_ADDR değişkenini değiştirmeyi deneyin
putenv("REMOTE_ADDR=yerel sunucu");
// putenv() kullandıktan sonra REMOTE_ADDR değerini yazdır
Eko " Değişiklikten sonraki Uzak Adres: " . getenv("UZAKTAN_ADDR"). "
";
// Özel bir ortam değişkeni tanımlayın
putenv("MY_ENV_VAR=TestSrver");
// Özel ortam değişkenini yazdır
Eko "MY_ENV_VAR değeri: " . getenv("MY_ENV_VAR");
?>

Çıktı:

Komut dosyasını sunucudan çalıştırdıktan sonra aşağıdaki çıktı görünecektir. “REMOTE_ADDR” varsayılan değerinin 127.0.0.1. Bu ortam değişkeninin değeri değiştirilip yeniden yazdırıldığında önceki değerini gösterecektir. Bu, yerleşik değişkenlerin değerinin değiştirilemeyeceği anlamına gelir. Yeni oluşturulan ortam değişkeni burada düzgün şekilde yazdırılır.

Sonuç

Yerleşik ortam değişkenlerini okuma ve yeni bir ortam değişkeni oluşturma yolları, bu öğreticide farklı örnekler kullanılarak gösterilmektedir. PHP'nin ortam değişkenini okumak için de kullanılabilen $_ENV adında bir süper küresel değişken var. PHP'deki ortam değişkenleri kavramı bu öğreticiyi okuduktan sonra temizlenecek ve PHP kodlayıcıları bu değişkenleri komut dosyalarında kullanabilecekler.

How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...