When running a PHP program under the command line, the $_SERVER["SERVER_NAME"] variable does not contain the hostname. However, the following works for me under Unix/Linux and Windows:
<?php
if (isset($_ENV["HOSTNAME"]))
$MachineName = $_ENV["HOSTNAME"];
else if (isset($_ENV["COMPUTERNAME"]))
$MachineName = $_ENV["COMPUTERNAME"];
else $MachineName = "";
?>
$_ENV
$HTTP_ENV_VARS [kullanımdan kalktı]
$_ENV -- $HTTP_ENV_VARS [kullanımdan kalktı] — Ortam değişkenleri
Açıklama
Ortam yönetimi kullanılarak geçerli betiğe aktarılan bütünleşik ortam değişkenleri dizisi.
Bu değişkenler PHP yazım denetleyicisinin çalıştığı ortamdan PHP'nin küresel isim alanına ithal edilir. Çoğu PHP'nin altında çalıştığı kabuk (shell) tarafından sağlanır. Farklı sistemler farklı türde kabuklar çalıştırırlar, bu bakımdan tam bir tanımlı ortam değişkenleri listesi verilemez. Lütfen tanımlı ortam değişkenleri listesi için kullandığınız kabuğun belgelerine bakınız.
Diğer ortam değişkenleri, CGI değişkenlerini içerir ve PHP'nin bir sunucu hizmeti olarak mı yoksa CGI işlemcisi olarak mı çalıştığına bakmaksızın yerleştirilirler.
$HTTP_ENV_VARS aynı başlangıç bilgisini içerir, fakat bir süper küresel değildir. ($HTTP_ENV_VARS ve $_ENV farklı değişkenlerdir ve PHP de bu şekilde ele alır.)
Sürüm Bilgisi
| Sürüm: | Açıklama |
|---|---|
| 4.1.0 | $_ENV ortaya çıkmış ve $HTTP_ENV_VARS kullanımdan kaldırılmıştır. |
Örnekler
Örnek 1 - $_ENV örneği
<?php
echo 'Benim adım ' .$_ENV["USER"] . '!';
?>
Bu betiği "yasar" isimli kullanıcının çalıştırdığı varsayılarak
Yukarıdaki örnek şuna benzer bir çıktı üretir:
Benim adım yasar!
Notlar
Bilginize: Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir. Değişkene işlevler ve yöntemlerin içinden erişmek için global $değişken; deyimine gerek yoktur.
$_ENV
20-Mar-2009 01:48
