是否有可能获得一些Linux系统环境变量并仍然使用.env变量?
我们希望使用自动生成的数据库密码作为Linux环境变量,但无法让Laravel找到Linux系统环境变量。
答案 0 :(得分:2)
使用PHP的getenv()函数。
答案 1 :(得分:1)
Linux系统变量无法通过PHP / Apache访问。您可以通过SetEnv在站点的Apache Vhost中设置变量,并在Laravel中获取它。
你可以做到
SetEnv DB_Pass dbpassword123
fastcgi_param DB_Pass dbpassword123
Apache Vhost示例:
<VirtualHost example.com:80>
ServerAdmin root@mpj.local.dev
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>
并使用
在Laravel中获取变量DB_Pass
$dbPass = env('DB_Pass');
答案 2 :(得分:0)