Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

PHP $_ENV

Giới thiệu

$_ENV là mảng liên kết siêu toàn cục khác trong PHP. Lưu biến môi trường có sẵn cho script hiện tại. $HTTP_ENV_VARS cũng chứa thông tin tương tự nhưng không phải siêu toàn cục, đã lỗi thời.

Biến môi trường nhập vào không gian tên toàn cục. Hầu hết do shell cung cấp (shell chạy PHP parser). Do đó danh sách biến môi trường khác nhau tùy nền tảng.

Mảng này cũng bao gồm biến CGI tùy PHP chạy như module server hay CGI processor.

PHP có hàm getenv() lấy danh sách tất cả biến môi trường hoặc giá trị biến cụ thể.

getenv

Script sau hiển thị giá trị tất cả biến môi trường:

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

Lấy giá trị biến cụ thể dùng tên làm tham số:

Ví dụ

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

Kết quả

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 cũng có putenv() tạo biến môi trường mới. Biến chỉ tồn tại trong yêu cầu hiện tại.

Nên tránh thay đổi biến môi trường quan trọng. Mặc định user chỉ đặt biến bắt đầu bằng PHP_ (ví dụ PHP_FOO=BAR).

Directive safe_mode_protected_env_vars trong php.ini liệt kê biến môi trường user không thể thay đổi bằng putenv().

putenv

Ví dụ

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

Kết quả

Temp user: GUEST