代码:public / index.php
<?php
// $path = base_path() . '/.env';
if(file_exists('/../.env'))
{
echo "yes";
}
else
{
echo "No";
}
在此代码中,我的根目录中有.env
文件,但是当我尝试知道我的.env
文件是否存在时,它会显示No
。此后我还尝试过使用base_path()
,它会抛出500 error
。不知道为什么那么,如何解决此问题?请帮助我。
谢谢
答案 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}"