Biến hệ thống Linux không thể truy cập thông qua PHP/Apache. Bạn có thể đặt một biến trong Apache Vhost của trang web của bạn thông qua SetEnv và lấy nó trong Laravel.
Bạn có thể làm
- Apache:
SetEnv DB_Pass dbpassword123
trong vhost của bạn
- Nginx:
fastcgi_param DB_Pass dbpassword123
Ví dụ Apache vhost:
<VirtualHost example.com:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html
ServerName mpj.local.dev
SetEnv DB_Pass dbpassword123
<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>
ErrorLog "/var/log/apache2/error_log"
CustomLog "/var/log/apache2/access_log" common
</VirtualHost>
và tìm biến số DB_Pass
trong Laravel với
$dbPass = env('DB_Pass');
theo hiểu biết của tôi, bạn không thể sử dụng biến môi trường Linux trực tiếp, bạn phải chạy lệnh shell, lấy biến của bạn và gán nó vào Laravel biến toàn cầu để sử dụng nội – Qazi
http://stackoverflow.com/ câu hỏi/13568191/how-to-get-system-môi trường-biến-thành-php-trong khi-chạy-cli-apache2hand có bạn nhìn vào nó? –
Bất kỳ lý do nào câu hỏi này vẫn mở? – miken32