Laravel 5.2获取Linux系统环境变量

时间:2016-03-17 09:04:14

标签: php linux laravel laravel-5.2

是否有可能获得一些Linux系统环境变量并仍然使用.env变量?

我们希望使用自动生成的数据库密码作为Linux环境变量,但无法让Laravel找到Linux系统环境变量。

3 个答案:

答案 0 :(得分:2)

使用PHP的getenv()函数。

PHP: getenv - Manual

答案 1 :(得分:1)

Linux系统变量无法通过PHP / Apache访问。您可以通过SetEnv在站点的Apache Vhost中设置变量,并在Laravel中获取它。

你可以做到

  • Apache:您的Vhost中的SetEnv DB_Pass dbpassword123
  • Nginx: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)