Làm cách nào để đưa tệp .ENV vào PHP?
Các lọ ENV giúp tạo và định hình môi trường nơi mã chạy. Đó là một thực hành hiện đại tốt Show
Vấn đềBạn rất có thể chạy ít nhất hai môi trường của Ứng dụng của mình. Một cục bộ để phát triển và một ở đây trên fortrabbit để sản xuất. Cả hai trường hợp có thể có quyền truy cập vào cơ sở dữ liệu. Tất nhiên, MySQL cục bộ của bạn có thông tin đăng nhập khác với thông tin đăng nhập từ xa. Tệp cấu hình của bạn, lưu trữ thông tin này, nằm dưới sự kiểm soát của phiên bản Git. Vậy làm thế nào để đối phó với các cấu hình dành riêng cho môi trường khác nhau? Dung dịchMọi thứ cụ thể cho môi trường phải được lưu trữ trong Biến môi trường hoặc "Vars ENV" ngắn Giới thiệu về lọ ENVMột ENV var là một cặp giá trị khóa, như vậy. 8. Các biến này, như bạn hy vọng bây giờ có thể đoán được, được lưu trữ cụ thể cho mỗi môi trường. Các lọ ENV có khả năng được lưu trữ ở nhiều nơi. Đây là cách bạn có thể xác định biến ENV với cấu hình Apache
Đây là một ví dụ cơ bản về cách bạn có thể làm điều đó tại địa phương. Trong hầu hết các trường hợp, bạn sẽ không cần chạm vào cấp độ đó tại đây. Vui lòng đọc tiếp để biết thêm cách sử dụng và cách thực hiện trên fortrabbit ENV vars trong PHP hiện đạiBạn có thể truy cập các lọ ENV từ PHP. Và đó là một phương pháp hay nhất thường được phổ biến rộng rãi để làm điều đó Các. tập tin envXử lý cài đặt máy chủ không thuận tiện cho nhiều nhà phát triển. Vì vậy, cộng đồng Ruby đã tìm ra định dạng tệp 9. Đây là một tệp cấu hình đơn giản với 30 cặp 0, dễ viết bởi con người và không phụ thuộc vào thời gian chạy. Tất cả những gì bạn cần là một thư viện trình phân tích cú pháp, đọc tệp và làm cho các vars có thể truy cập được từ cơ sở mã của bạnPHP dotenvKhái niệm tệp 9 đã trở nên khá phổ biến và có cổng cho tất cả các ngôn ngữ. Dưới đây là những cái phổ biến nhất cho PHP
Các khung công tác PHP hiện đại — Laravel, Symfony…) và CMS (Craft) sử dụng cái này hay cái kia dưới mui xe Các lọ ENV trên fortrabbitTóm tắt lại. Các lọ ENV là môi trường cụ thể. Vì vậy, do đó, tệp 9 sẽ KHÔNG được triển khai cho Ứng dụng fortrabbit của bạn. Nó thường bị loại khỏi theo dõi trong GitBây giờ, ứng dụng fortrabbit của bạn nên biết về các lọ ENV của nó như thế nào? . Đó không phải là cách nó hoạt động. Ứng dụng fortrabbit có các lọ ENV được đặt trực tiếp với máy chủ. Những thứ đó có thể được đặt trong Bảng điều khiển với Ứng dụng Tóm tắt lại. Bản thân ứng dụng PHP sẽ chỉ truy vấn các lọ ENV. Một thư viện chỉ giúp đưa các lọ ENV vào cơ sở mã, nhưng chỉ khi chúng chưa được thiết lập Các fortrabbit là nơi phép màu xảy ra. Trong khi tạo Ứng dụng trên fortrabbit, bạn sẽ chọn CMS hoặc khung mong muốn của mình. Lựa chọn này sẽ cấu hình các lọ ENV của máy chủ theo các cách mà phần mềm có thể làm việc với nó. Ví dụ: đối với Laravel và Craft, ENV var 3 sẽ được điền bằng mật khẩu của cơ sở dữ liệu Ứng dụng. Đối với Symfony, chúng tôi cung cấp DSN sẵn sàng sử dụng trong biến 4. Đây là liên kết đến các cài đặt của Ứng dụng của bạn
Vì vậy, rất có thể, Ứng dụng fortrabbit của bạn sẽ hoạt động tốt. Như một phần thưởng, bạn thậm chí còn đặt lại mật khẩu cơ sở dữ liệu mà không cần chạm vào bất kỳ cấu hình nào Thêm và chỉnh sửa các lọ ENV trên fortrabbitBạn có thể thêm các lọ ENV cho Ứng dụng của mình trong Bảng điều khiển > Ứng dụng của bạn > Cài đặt > Các lọ ENV. Đầu vào hỗ trợ định dạng tệp dotenv và cho phép bạn tạo hoặc cập nhật nhiều biến cùng một lúc Thêm lọ ENV vào ứng dụng của bạn. {{tên ứng dụng}} Các thay đổi sẽ được phân phối sau khi bạn lưu trang. Có thể mất khoảng 60 giây, không cần triển khai lại. Một số khung và CMS có thể lưu trữ các lọ ENV, như Laravel, xem Truy cập các lọ ENV từ PHP thôBạn có thể truy cập các lọ ENV của mình từ PHP bằng cách sử dụng biến toàn cục 5 hoặc hàm 6
Chủ đê nâng caoCho đến nay, chúng tôi đã đề cập đến những điều cơ bản, hãy đọc tiếp để tìm hiểu sâu hơn về các lọ ENV và cách chúng có thể giúp bạn Các loại biến ENV trên fortrabbitCó bốn loại lọ ENV khác nhau ở đây trên fortrabbit có sẵn cho Ứng dụng của bạn khi chạy Bình ENV tùy chỉnhĐó là những thứ bạn tự thêm vào Bảng điều khiển Các lọ ứng dụng ENVBạn không thể ghi đè các lọ ENV chung. Chúng luôn có sẵn
Các lọ ENV cài sẵn phần mềmTùy thuộc vào những gì bạn đã chọn khi tạo Ứng dụng của mình, các lọ ENV bổ sung sẽ được tạo cho bạn. Ví dụ. Khi chọn Laravel, ENV var 9 với một chuỗi dài 32 ký tự ngẫu nhiên sẽ được tạo (trong số các chuỗi khác). Bạn có thể thay thế hoặc xóa các lọ Stack ENV đó sau khi tạo Ứng dụng giống như cách bạn có thể thay thế hoặc xóa các lọ ENV được tạo thủ công của mìnhCác lọ ENV độngCác lọ ENV động sẽ khả dụng nếu bạn đã bật "Các lọ ENV động" trong Bảng điều khiển, đây là mặc định cho các Ứng dụng mới. Chúng chứa chi tiết truy cập cho các dịch vụ do fortrabbit cung cấp. Bạn có thể tìm thấy chúng trong Bảng điều khiển > {{tên ứng dụng}} > lọ ENV ở phía bên tay phải. Chúng sẽ không bao giờ ghi đè lên các lọ ENV hiện có, được tạo thủ công. Điều này có nghĩa là. nếu bạn tạo biến ENV theo cách thủ công, chúng tôi đảm bảo rằng chúng tôi sẽ không thay thế giá trị của biến đó bằng biến ENV được tạo động Theo dõi danh sách các lọ ENV động có sẵn MySQL (Tất cả ứng dụng phổ biến hoặc Thành phần ứng dụng chuyên nghiệp)
Lưu trữ đối tượng (Thành phần ứng dụng chuyên nghiệp)
Memcache (Thành phần ứng dụng chuyên nghiệp)
Lọ ENV lồng nhauBạn có thể sử dụng đơn giản, trong các lọ ENV tùy chỉnh của mình. Đơn giản có nghĩa là bạn có thể đặt các biến tham chiếu đến các biến khác, chẳng hạn như biến chứa giá trị
Chúng tôi không hỗ trợ nhiều cấp độ nội suy, điều đó có nghĩa là bạn không thể sử dụng các biến tham chiếu đến các biến khác, chẳng hạn như tham chiếu lại các biến khác 9ENV vars so với bảo mậtLưu trữ thông tin đăng nhập (mật khẩu, bí mật,. ) trong các biến môi trường không phải là không có rủi ro. Chúng có thể bị lộ do lỗi lập trình hoặc sơ suất, chẳng hạn như khi bạn quên xóa 95 khỏi sản xuất. Vui lòng đọc một cuộc thảo luận chuyên sâu trong Blog của chúng tôi. Chúng tôi cung cấp một giải pháp thuận tiện cho vấn đề này với Bí mật ứng dụng của chúng tôiXác thực biến ENVCác quy tắc xác thực nghiêm ngặt cho các lọ ENV đang được sử dụng trong Bảng điều khiển khi nhập. Các ký tự như ký hiệu "$" có thể gây hại trong hệ thống Linux. Đây là biểu thức chính quy mà chúng tôi sử dụng để xác thực đầu vào var ENV trong Bảng điều khiển 7Vì vậy, đôi khi, khi bạn muốn lưu trữ khóa API bên ngoài dưới dạng biến ENV, bạn có thể gặp lỗi xác thực như. "Giá trị biến chứa các ký tự không hợp lệ". Nếu bạn không thể thay đổi giá trị của biến ENV của mình, bạn có thể mã hóa và giải mã chúng Mã hóa và giải mã các lọ ENVSử dụng chuỗi được mã hóa base64 và giải mã nó khi áp dụng nó vào cấu hình trong mã của bạn. Mã hóa hoạt động như thế này Làm thế nào để thêm. env trong PHP?php function DBConnect() { $user = getenv("DB_USER"); . biến môi trường. php. environment-variables.
tôi có thể sử dụng. env trong PHP?Một. env là một tệp văn bản thuần túy chứa các định nghĩa biến môi trường được thiết kế để ứng dụng PHP của bạn sẽ phân tích cú pháp chúng, bỏ qua Apache, NGINX và PHP-FPM. Việc sử dụng. tệp env phổ biến trong nhiều khung công tác PHP chẳng hạn như Laravel có hỗ trợ tích hợp để phân tích cú pháp .
Làm thế nào để đọc một. env trong PHP?Tệp môi trường ứng dụng PHP chứa hầu hết các cài đặt email, máy chủ SMTP được định cấu hình. . BƯỚC 1 Định cấu hình để đặt giá trị tùy chỉnh trong PHP. tập tin env BƯỚC 2 Trong ứng dụng. đọc tệp php bằng phương thức env('') BƯỚC 3 Sử dụng config('') để truy xuất từ ứng dụng. tập tin php $_ env trong PHP là gì?$_ENV là một mảng kết hợp siêu toàn cục 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à siêu toàn cầu 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. |