PHP não retorna variável global com método getenv('VARIAVEL')
Projeto PHP com banco MySQL o projeto no PC em localhost (http://localhost/site001/) funciona perfeitamente, depois que subi o projeto para um servidor na internet, as variáveis do arquivo de configuração .env não são carregadas e assim todos os métodos getenv('NOME_VARIAVEL') dentro do projeto, não funcionam. Se eu colocar manual dentro dos arquivos includes/app.php >>> método Database::config e em app/Controller/Pages/Page >>> método public static function getPagination tudo funciona tanto o banco quanto a paginação. projeto feito com base no modelo YOUTUBE - MVC em PHP para baixar o código fonte + banco de dados clique aqui. Ao tentar conectar com o banco sem as VARIÁVEIS é apresentado o erro ERRO AO CONECTAR COM BANCO: SQLSTATE[HY000] [2002] No such file or directory. Segue em anexo print da pagina local e online
<?php
require __DIR__.'/../vendor/autoload.php';
use \App\Utils\View;
use \App\Utils\Environment;
use \App\Utils\Database;
use \App\Http\Middleware\Queue as MiddlewareQueue;
//CARREGA VARIAVES DE AMBIENTE
Environment::load(__DIR__.'../../');
//DEFINE AS CONFIGURAÇOES DE BANCO DE DADOS
Database::config(
getenv('DB_HOST'),
getenv('DB_NAME'),
getenv('DB_USER'),
getenv('DB_PASS'),
getenv('DB_PORT')
);
//DEFINE A CONSTANTE DE URL
define('URL', getenv('URL'));
//DEFINE O VALOR PADRAO DAS VARIAVES
View::init([
'URL'=> URL
]);
//DEFINE O MAPEAMENTO DE MIDDLEWARE
MiddlewareQueue::setMap([
'maintenance' => \App\Http\Middleware\Maintenance::class,
'required-admin-logout' => \App\Http\Middleware\RequiredAdminLogout::class,
'required-admin-login' => \App\Http\Middleware\RequiredAdminLogin::class,
'api' => \App\Http\Middleware\Api::class,
'user-basic-auth' => \App\Http\Middleware\UserBasicAuth::class,
'jwt-auth' => \App\Http\Middleware\JWTAuth::class,
'cache' => \App\Http\Middleware\Cache::class
]);
//DEFINE O MAPEAMENTO DE MIDDLEWARE PADROES PARA TODAS ROTAS
MiddlewareQueue::setDefault([
'maintenance'
]);

Discussão (1)
Carregando comentários...