Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP $_ENV


แนะนำตัว

$_ENV เป็นอาเรย์ที่เชื่อมโยงที่ยอดเยี่ยมอีกตัวหนึ่งใน PHP มันเก็บตัวแปรสภาพแวดล้อมที่มีอยู่ในสคริปต์ปัจจุบัน $HTTP_ENV_VARS มีข้อมูลเดียวกันแต่ไม่ใช่ superglobal และตอนนี้เลิกใช้แล้ว

ตัวแปรสภาพแวดล้อมถูกนำเข้าไปยังเนมสเปซส่วนกลาง ตัวแปรเหล่านี้ส่วนใหญ่มาจากเชลล์ซึ่ง PHP parser ทำงานอยู่ ดังนั้น รายการตัวแปรสภาพแวดล้อมอาจแตกต่างกันไปตามแพลตฟอร์มต่างๆ

อาร์เรย์นี้ยังรวมถึงตัวแปร CGI ในกรณีที่ PHP ทำงานเป็นโมดูลเซิร์ฟเวอร์หรือตัวประมวลผล CGI

ไลบรารี PHP มี getenv() ฟังก์ชันดึงรายการตัวแปรสภาพแวดล้อมทั้งหมดหรือค่าของตัวแปรสภาพแวดล้อมเฉพาะ

getenv

สคริปต์ต่อไปนี้แสดงค่าของตัวแปรสภาพแวดล้อมที่มีอยู่ทั้งหมด

<?php
$arr=getenv();
foreach ($arr as $key=>$val)
echo "$key=>$val
";
?>

ในการรับค่าของตัวแปรเฉพาะ ให้ใช้ชื่อนั้นเป็นอาร์กิวเมนต์สำหรับฟังก์ชัน getenv()

ตัวอย่าง

<?php
echo "Path: " . getenv("PATH");
?>

ผลลัพธ์

เบราว์เซอร์จะแสดงผลลัพธ์คล้ายกับการติดตาม

Path: /usr/local/bin/factor:/root/.sdkman/candidates/kotlin/current/bin:/usr/GNUstep/System/Tools:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/scriba/bin:/usr/local/smlnj/bin:/usr/local/bin/std:/usr/local/bin/extra:/usr/local/fantom/bin:/usr/local/dart/bin:/usr/libexec/sdcc:/usr/local/icon-v950/bin:/usr/local/mozart/bin:/opt/Pawn/bin:/opt/pash/Source/PashConsole/bin/Debug/:.:/root/.sdkman/candidates/kotlin/current/bin:/usr/bin:/sbin:/bin

PHP ยังมีputenv() ฟังก์ชันเพื่อสร้างตัวแปรสภาพแวดล้อมใหม่ ตัวแปรสภาพแวดล้อมจะอยู่ในช่วงเวลาของคำขอปัจจุบันเท่านั้น

ควรหลีกเลี่ยงการเปลี่ยนแปลงค่าของตัวแปรสภาพแวดล้อมบางอย่าง โดยค่าเริ่มต้น ผู้ใช้จะสามารถตั้งค่าตัวแปรสภาพแวดล้อมที่ขึ้นต้นด้วย PHP_ เท่านั้น (เช่น PHP_FOO=BAR)

safe_mode_protected_env_vars คำสั่งใน php.ini มีรายการตัวแปรสภาพแวดล้อมที่คั่นด้วยเครื่องหมายจุลภาค ซึ่งผู้ใช้ปลายทางจะไม่สามารถเปลี่ยนแปลงได้โดยใช้ putenv()

ปูเตนฟ

ตัวอย่าง

<?php
putenv("PHP_TEMPUSER=GUEST");
echo "Temp user: " . getenv("PHP_TEMPUSER");
?>

ผลลัพธ์

เบราว์เซอร์จะแสดงผลดังต่อไปนี้

Temp user: GUEST