Jump to content
Fórum Script Brasil
  • 0

syntax error, unexpected '$'


fhp-92@hotmail.com
 Share

Question

Prezados, boa tarde a todos.

Sou iniciante em php e estou tendo dificuldades com um erro simples, embora não consigo resolver.

Estou implementando uma ferramenta open source chamada http://compalex.net/ que faz comparação entre bancos de dados, no entanto, quando estou passando as variáveis apresenta o seguinte erro: 

Warning: syntax error, unexpected '$' in C:\xampp\htdocs\compare/environment.php on line 4 in C:\xampp\htdocs\compare\config.php on line 12
Param DATABASE_DRIVER not set in file C:\xampp\htdocs\compare/environment.php 

<?php 
 //ARQUIVO QUE ESTOU PASSANDO AS VARIAVEIS, AINDA VOU DEIXAR AS STRINGS DINAMICAMENTE

 $DATABASE_DRIVER = 'mysql';
 $DATABASE_ENCODING = 'utf8';
 $SAMPLE_DATA_LENGTH = '100';

//Parâmetros de conexão primária 
 $DATABASE_HOST = 'localhost';
 $DATABASE_NAME = 'compalex_dev';
 $DATABASE_USER = 'root';
 $DATABASE_PASSWORD = '';
 $DATABASE_DESCRIPTION = 'Banco de dados do desenvolvedor';

//Parâmetros de conexão secundária
 $DATABASE_HOST_SECONDARY = 'localhost';
 $DATABASE_NAME_SECONDARY = 'compalex_prod';
 $DATABASE_USER_SECONDARY = 'raiz';
 $DATABASE_PASSWORD_SECONDARY = '';
 $DATABASE_DESCRIPTION_SECONDARY = 'Banco de dados de produção';

?>

Agora segue o arquivo de config.

<?php

define('DIR_ROOT', dirname(__FILE__));
define('ENVIRONMENT_FILE', DIR_ROOT . '/environment.php');
define('DRIVER_DIR', DIR_ROOT . '/driver/');
define('TEMPLATE_DIR', DIR_ROOT . '/template/');

if(isset($_ENV['DATABASE_DRIVER']) && isset($_ENV['DATABASE_HOST']) && isset($_ENV['DATABASE_HOST_SECONDARY'])){
    $params = $_ENV;
}else{
    if (!file_exists(ENVIRONMENT_FILE)) die('File "' . ENVIRONMENT_FILE . '" not exist. Please create file.');
    $params = parse_ini_file(ENVIRONMENT_FILE, false, INI_SCANNER_RAW);
}

$requiredParams = array(
    'DATABASE_DRIVER',
    'DATABASE_ENCODING',
    'SAMPLE_DATA_LENGTH',

    'DATABASE_HOST',
    'DATABASE_PORT',
    'DATABASE_NAME',
    'DATABASE_USER',
    'DATABASE_PASSWORD',
    'DATABASE_DESCRIPTION',

    'DATABASE_HOST_SECONDARY',
    'DATABASE_PORT_SECONDARY',
    'DATABASE_NAME_SECONDARY',
    'DATABASE_USER_SECONDARY',
    'DATABASE_PASSWORD_SECONDARY',
    'DATABASE_DESCRIPTION_SECONDARY',
);

array_map(function ($name) use ($params) {
    if (!isset($params[$name])) {
        die('Param ' . $name . ' not set in file ' . ENVIRONMENT_FILE);
    }else{
        define($name, $params[$name]);
    }
}, $requiredParams);

define('FIRST_DSN',  DATABASE_DRIVER.'://'.DATABASE_USER.':'.DATABASE_PASSWORD.'@'.DATABASE_HOST.':'.DATABASE_PORT.'/'.DATABASE_NAME);
define('SECOND_DSN',  DATABASE_DRIVER.'://'.DATABASE_USER_SECONDARY.':'.DATABASE_PASSWORD_SECONDARY.'@'.DATABASE_HOST_SECONDARY.':'.DATABASE_PORT_SECONDARY.'/'.DATABASE_NAME_SECONDARY);

Se alguém puder me ajudar por favor

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0
9 horas atrás, lowys disse:

Qual é o conteúdo deste arquivo?
Mais especificamente, qual é a linha 4?

Bom dia, Lowys.

O conteúdo do arquivo (environment.php) passará as variáveis dos parâmetros de conexão, para comparar as bases de dados. A linha 4 se refere aonde começa o script, nesse caso, o driver de conexão com o banco de dados.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.9k
    • Total Posts
      646.8k
×
×
  • Create New...