hugo.faria
Members-
Total de itens
2 -
Registro em
-
Última visita
Tudo que hugo.faria postou
-
PHP não retorna variável global com método getenv('VARIAVEL')
hugo.faria respondeu ao tópico de hugo.faria em PHP
Crie uma classe Config com array e chamei elas nos local do comando getenv(). No arquivo App\Controller\Pages\Page no local de //$limit = getenv('PAGINATION_LIMIT'); coloquei $limit = Config::getConstantes('PAGINATION_LIMIT'); O problema foi contornado, mas ainda não entendi como uma função funciona local e não funciona online. <?php namespace App\Utils; class Config{ public static function getConstantes($consulta){ $dados['DB_HOST'] = 'localhost'; $dados['DB_NAME'] = 'banco_teste001'; $dados['DB_USER'] = 'root'; $dados['DB_PASS'] = ''; $dados['DB_PORT'] = '3306'; $dados['URL'] = 'https://hugowdv.000webhostapp.com/'; $dados['MAINTENANCE'] = 'false'; $dados['JWT_KEY'] = '1020304050607080'; $dados['CACHE_TIME'] = '10'; $dados['CACHE_DIR'] = 'C:/CacheDeTeste/cache'; $dados['PAGINATION_LIMIT'] = '5'; return $dados[$consulta]; } }- 1 resposta
-
- arquivo .env
- variável global
- (e mais 2 )
-
PHP não retorna variável global com método getenv('VARIAVEL')
hugo.faria postou um tópico no fórum PHP
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' ]);- 1 resposta
-
- arquivo .env
- variável global
- (e mais 2 )