Thực tiễn hiệu quả nhất để thiết lập ứng dụng là sử dụng các biến môi trường PHP, cho dù thông tin xác thực cơ sở dữ liệu, tham số dữ liệu bí mật, khóa API hoặc bất cứ điều gì giữa các triển khai hiện có thể nhìn thấy mã thông qua môi trường. Biến môi trường PHP cho phép các nhà phát triển thu thập các loại dữ liệu cụ thể từ các máy chủ hiện có một cách linh hoạt. Trong hướng dẫn này, bạn sẽ học cách sử dụng các biến môi trường PHP và các tính năng của chúng là gì.
Biến môi trường PHP
Các khung PHP khác nhau như Laravel, Symfony và các khung khác sử dụng biến môi trường PHP để lưu trữ các thông tin xác thực liên quan đến bảo mật khác nhau và các cấu hình khác. Một biến env var hoặc biến môi trường không có gì ngoài một cặp giá trị khóa được sử dụng trong phạm vi toàn cầu. Các biến này được lưu trữ rõ ràng cho từng môi trường. Nói cách khác, một biến môi trường có thể được định nghĩa là một biến có tên động được cung cấp trong một chương trình để ảnh hưởng đến cách các quá trình chạy liên tiếp sẽ hoạt động trong một hệ thống.
Các biến này được đưa vào không gian tên toàn cầu của PHP từ môi trường mà PHP chạy trình phân tích cú pháp của nó. Nhiều người trong số chúng được cung cấp bởi vỏ trong đó PHP chạy với các hệ thống khác nhau có khả năng chạy các loại vỏ khác nhau. Các biến môi trường khác bao gồm các biến CGI, không phân biệt việc chúng đang chạy như một mô -đun máy chủ hay là bộ xử lý CGI trong PHP.
Thông tin thêm về các biến môi trường PHP
Khi một quá trình bắt đầu trong một chương trình, nó sử dụng các biến được xác định hoặc kế thừa từ quy trình cha. Các biến này được sử dụng để khám phá các sự kiện về môi trường mà nó đang chạy. & NBSP; Các biến này bao gồm chi tiết về vị trí ưa thích nơi các tệp tạm thời được lưu hoặc đường dẫn mà thư mục nhà nằm trong hệ thống.
Nếu bạn sử dụng hệ điều hành Unix như Linux, bạn có thể thấy điều này bằng cách nhập giá trị của biến môi trường $ home trong thiết bị đầu cuối:
Yêu cầu:» echo $HOMEResult:
/Users/matt
Trong trường hợp, bạn sử dụng HĐH Windows; Bạn phải mở PowerShell và sử dụng lệnh:
Command:Write-Output $env:HOMEPATHResult:
C:\Users\Gautam>
Ví dụ về việc sử dụng các biến môi trường trong PHP
Thí dụ:
Đầu ra của anh ấy sẽ trông giống như:
The username is Alex!
Tại sao $ _ENV trống
Tôi muốn sử dụng $ _ENV để tôi có thể lấy tên người dùng của người dùng đã đăng nhập, nhưng nó trống?
Thay vào đó, mọi người nên sử dụng hàm getenv [], nhưng nếu bạn yêu cầu $ _ENV, bạn cần phải làm như vậy. Để sử dụng $ _ENV, bạn phải kích hoạt nó trong tệp php.ini của mình. Tìm "biến_order" và đặt nó thành:getenv[] function instead, but if you require $_ENV, you need to do so. To use $_ENV, you must activate it in your php.ini file. Find "variable_orders" and set it to:
variables_order = "GPCSE"
Đặt các biến môi trường
Bây giờ chúng tôi hãy thảo luận về cách đặt một biến môi trường để có thể truy cập từ ứng dụng PHP của bạn.
» php -r 'var_dump[getenv["HOME"]];'Result:
string[13] "/Users/Alex"
Nhưng trong trường hợp bạn muốn đưa các biến của mình vào chương trình PHP, cách đơn giản nhất để thực hiện điều này là nêu rõ biến môi trường trước lệnh chạy của bạn, một cái gì đó như thế này:
» APP_ENV=local php -r 'var_dump[getenv["APP_ENV"]];'Result:
/Users/matt0
Một cách tiếp cận nổi tiếng và thuận tiện khác được sử dụng trong các hệ thống Unix là sử dụng lệnh "Xuất". Khi'Export 'được sử dụng với biến môi trường, nó sẽ có sẵn trong tất cả các lệnh liên tiếp cho đến khi shell thoát ra.
/Users/matt1
»PHP -R 'var_dump [getenv [" app_env "]];'
Result:/Users/matt0
Các chức năng liên quan của biến môi trường PHP
Vì các biến môi trường là các biến toàn cầu, hai hàm thường được sử dụng được sử dụng để cài đặt và nhận các biến môi trường. Đó là:
- getenv [] là một hàm PHP được sử dụng để trả về giá trị của biến môi trường cụ thể is a PHP function used for returning the specific environment variable's value
- putenv [] là một hàm PHP được sử dụng để đặt giá trị của một biến môi trường cụ thể is a PHP function that is used for setting the value of a particular environment variable
Mã mã cho getenv []:
Thí dụ:
/Users/matt3
Đầu ra của anh ấy sẽ trông giống như:
Thí dụ:
/Users/matt4