Computer >> Máy Tính >  >> Lập trình >> PHP

PHP $ _ENV

Giới thiệu

$ _ENV là một mảng liên kết superglobal khác trong PHP. Nó lưu trữ các biến môi trường có sẵn cho tập lệnh hiện tại. $ HTTP_ENV_VARS cũng chứa thông tin tương tự, nhưng không phải là superglobal và hiện không được dùng nữa.

Các biến môi trường được nhập vào không gian tên chung. Hầu hết các biến này được cung cấp bởi shell mà trình phân tích cú pháp PHP đang chạy. Do đó, danh sách các biến môi trường có thể khác nhau trên các nền tảng khác nhau.

Mảng này cũng bao gồm các biến CGI trong trường hợp PHP đang chạy dưới dạng mô-đun máy chủ hay bộ xử lýCGI.

Thư viện PHP có getenv () hàm để truy xuất danh sách tất cả các biến môi trường hoặc giá trị của một biến môi trường cụ thể

getenv

Tập lệnh sau hiển thị giá trị của tất cả các biến môi trường có sẵn

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

Để lấy giá trị của biến cụ thể, hãy sử dụng tên của nó làm đối số cho hàm getenv ()

Ví dụ

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

Đầu ra

Trình duyệt sẽ hiển thị kết quả tương tự như sau

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 () hàm tạo một biến môi trường mới. Biến môi trường sẽ chỉ tồn tại trong khoảng thời gian của yêu cầu hiện tại.

Nên tránh thay đổi giá trị của một số biến môi trường nhất định. Theo mặc định, người dùng sẽ chỉ có thể đặt các biến môi trường bắt đầu bằng PHP_ (ví dụ:PHP_FOO =BAR).

safe_mode_protected_env_vars Chỉ thị trong php.ini chứa danh sách các biến môi trường được phân tách bằng dấu phẩy mà người dùng cuối sẽ không thể thay đổi bằng cách sử dụng putenv ().

putenv

Ví dụ

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

Đầu ra

Trình duyệt sẽ hiển thị kết quả như sau

Temp user: GUEST