Perbezaan antara getenv dan pelayan dalam php: 1. getenv boleh mendapatkan pembolehubah persekitaran sistem, sintaksnya ialah "string getenv(string varname)", dan "$_SERVER" ialah tatasusunan pembolehubah super global pelayan; 2. getenv PHP berjalan dalam mod IIS isapi tidak disokong, "$_SERVER" disokong.
Persekitaran pengendalian artikel ini: sistem Windows 10, PHP versi 8.1, komputer Dell G3
Perbezaan dalam penggunaan antara getenv() dan $_SERVER dalam PHP:
getenv memperoleh pembolehubah persekitaran sistem, dan format pembolehubah persekitaran ialah name=value.
Sintaks:
string getenv(string varname);
Nilai pulangan: Jenis fungsi rentetan: Fungsi sistem PHP
Penerangan kandungan
Jika varname pembolehubah persekitaran diperoleh dengan betul, kemudian Mengembalikan nilai pembolehubah, atau palsu apabila gagal.
Contoh berikut boleh mendapatkan URL mesin tempat penyemak imbas pengguna berada
$ip = getenv(“REMOTE_ADDR”); ?>
$_SERVER ialah tatasusunan pembolehubah super global pelayan Gunakan $_SERVER['REMOTE_ADDR'] untuk juga dapatkan alamat IP ***.
Perbezaan antara keduanya ialah getenv tidak menyokong PHP berjalan dalam mod isapi IIS.
Meluaskan pengetahuan
Selesaikan PHP tidak boleh mendapatkan alamat ip`Perbezaan antara fungsi getenv(“REMOTE_ADDR”)
dan $_SERVER['REMOTE_ADDR']
Baru-baru ini saya menggunakan PHP untuk membantu rakan menulis halaman untuk mengundi Semuanya berjalan lancar Selepas memasangnya, saya mendapati alamat IP pelawat tidak direkodkan (alamat IP tidak berjaya diperolehi. Ujian tempatan semuanya baik-baik saja. Adakah mungkin komputer tempatan berbeza daripada pelayan Buka ruang dengan segera dan uji semuanya masih normal. Selepas menyelesaikan masalah setiap masalah, saya mengetahui bahawa pihak lain menjalankan IIS di bawah Windows, manakala ujian saya sendiri semuanya menggunakan Apache Ini mungkin sebabnya.
Ganti fungsi dengan segera: gantikan fungsi pemerolehan alamat IP asal "getenv(“REMOTE_ADDR”)
" dengan "$_SERVER['REMOTE_ADDR']
", tulis ganti dan kemas kini, dan semak semula pangkalan data Alamat IP telah berjaya direkodkan selesai.
Memandangkan kita menghadapi masalah ini lagi, mari kita merekodkannya: perbezaan antara getenv("REMOTE_ADDR") dan $_SERVER['REMOTE_ADDR'] dalam PHP untuk mendapatkan alamat IP pelawat (pelanggan In). hakikatnya, melalui kejadian ini, ia telah menjadi sangat jelas. Fungsi getenv("REMOTE_ADDR") berjaya memperoleh alamat IP dalam Apache, tetapi dalam iis, ia tidak mempunyai kesan sama sekali Fungsi $_SERVER['REMOTE_ADDR'] berjaya memperoleh alamat IP pelawat dalam apache, tetapi dalam iis. Juga sah di bawah.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah perbezaan antara getenv dan pelayan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!