.env文件在laravel中不存在

时间:2019-10-31 07:00:49

标签: php laravel-5

代码:public / index.php

<?php
    // $path = base_path() . '/.env';
    if(file_exists('/../.env'))
    {
        echo "yes";
    }
    else
    {
        echo "No";
    }

在此代码中,我的根目录中有.env文件,但是当我尝试知道我的.env文件是否存在时,它会显示No。此后我还尝试过使用base_path(),它会抛出500 error。不知道为什么那么,如何解决此问题?请帮助我。

谢谢

2 个答案:

答案 0 :(得分:1)

有时某些IDE不显示.env文件。它隐藏在项目中。

在laravel中,搜索.env.example文件。

您可以在cmd或终端(在项目文件夹中)中执行以下步骤

cp .env.example .env

php artisan key:generate

答案 1 :(得分:0)

在您的路线下放置以下内容:

Route::get('/test', function() {
    $path = __DIR__ . '/../.env';
    if(file_exists($path))
    {
        return '<h1>Yes</h1>';
    }
    return '<h1>No</h1>';
});

,然后尝试访问example.com/test之类的链接。

  

注意:出于安全原因,Laravel的{​​{1}}文件不允许您在没有路由的情况下运行脚本。


但是,如果您确定已将其删除,则可以像下面的.htaccess文件模板一样创建它:

.env

然后运行:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"