Aplicação que funciona no localhost, mas não no provedor - MySQL, V4, V5

Pessoal,

Estou com um problema sério e não tenho mais pistas pra resolver, apesar de continuar tentando…!

A atividade:
Estou fazendo o up-grade da aplicação em SC v4 para SC v5, utilizando o provedor HOTLINK, aqui de Recife.

O problema:
Ao tentar fazer o login, no ambiente de produção (provedor Hotlink), ocorre “Erro acesso tabela usuários” (seg_usuarios).
A tabela no provedor é uma réplica do localhost (meu notebook)

Detalhes do problema:

  1. Estou usando a aplicação de controle (modelo do SC), mas acrescentei um campo à seg_usuarios;
    2; Utilizo MySQL tanto no localhost, quanto no provedor, e no localhost levanto o bkp do MySQL (gerado no provedor);
  2. O localhost é meu notebook com SC v5 e MySQL, e a aplicação (o login da rotina de segurança) funciona normal;
  3. No provedor tenho SC v4 - estável (com conexão 1) e SC v5 - com erro (com conexão 2), com MySQL. As conexões são distintas (para o mesmo BD);
  4. O sistema na v4, funciona normalmente no provedor, desde 2007 e usa a conexão 1;
  5. Estou tentando fazer um up-grade da aplicação (da v4 para v5), mas ocorre erro ao acessar o banco de dados, usando a rotina de controle do SC (modelo), através de conexão 2;
  6. Se tento usar a mesma conexão para as 2 aplicações (mesmos nomes do localhost), e só a v4 funciona;
  7. Testando a conexão via browser (Configurar Ambiente de Produção), as conexões funcionam.

Não sei se o problema é meu mesmo, pois tenho 2 aplicações com versões diferentes (v4 e v5), compartilhando o mesmo ambiente (pasta default do apache, sob linux). Como o novo é a versão 5, fica a desconfiança nesta, apesar que esta roda certo no localhost.
Estou sem pista pra resolver este problema…
Alguma sugestão???

Att,

Roberto Sales
Recife-PE

Escreve detalhes de como está configurando o SC no provedor.

Configuração no provedor:

  • pasta default (mesma do site): /pagina
  • v4 (normal):
    . aplicação: /pagina/webpac/security_login
    . Sc: /pagina/webpac/_lib
    . Conexão: coopfisio
  • v5 (com erro):
    . aplicação: /pagina/webpac3/webpac_login
    . Sc: /pagina/webpac2/_lib
    . Conexão: coopfisio2

Métodos:

  • m_seg_inicial
    sc_reset_global([sc_erp_var_usuario],[usuario],[id]);
    sc_reset_apl_status();
  • m_seg_final
    sc_reset_apl_status();

/* Obtém usuários /
sc_lookup(ds_usuario, “select usuarioid, senha, grupo, convenio from seg_usuarios where usuarioid = ‘{usuario}’”);
if (FALSE === {ds_usuario})
{
/
SEMPRE OCORRE ISSO NO LOGIN (só na v5) -------/
sc_erro_mensagem(“Erro acesso tabela de usuários.”);
/
------------------------------------------------ */
return;
}
elseif (empty({ds_usuario}))
{
sc_erro_mensagem(“Usuário não cadastrado.”);
return;
};

/* Valida a senha */
$senha_usuario = substr(md5({senha}), 0, 30);
if ($senha_usuario != {ds_usuario[0][1]})
{
sc_erro_mensagem(“Senha inválida.”);
return;
};

/* Salva dados do usuário /
$usuario={ds_usuario[0][0]};
$login={ds_usuario[0][0]};
$grupo={ds_usuario[0][2]};
$id={ds_usuario[0][3]}; /
Salva Convênio, para usuário Gestor de Plano */

/* Obtém dados do Cooperado /
if ($grupo == 4)
{
sc_lookup(ds_cooperado,“Select id_cooperado, nome, numero_conselho from cooperado where login = ‘$login’”);
if (FALSE === {ds_usuario})
{
sc_erro_mensagem(“Erro acesso tabela de cooperados.”);
return;
};
if(empty({ds_cooperado}))
{
sc_error_message(‘Cooperado não cadastrado.’);
return;
}
else
{
/
Salva dados do cooperado /
$id={ds_cooperado[0][0]};
$nome={ds_cooperado[0][1]};
$crefito={ds_cooperado[0][2]};
$numero_conselho={ds_cooperado[0][2]};
}
}
else
{
/
Atribue valores para não cooperados */
$id=0;
$nome=$login;
$crefito=0;
$numero_conselho=0;
};

/* Define variáveis globais */
sc_set_global($id,$nome,$crefito,$numero_conselho, $usuario,$login,$grupo);

/* Ativa Menu para usuário, conforme configuração de acesso */
sc_lookup(dataset2, SELECT Y.aplicacaoid FROM seg_usuarios_grupos X INNER JOIN seg_grupos_aplicacoes Y ON X.grupoid = Y.grupoid where X.usuarioid = ‘{usuario}’);
if (!empty({dataset2}))
{
foreach ({dataset2} as $coluna)
{
$nome_apl = $coluna[0];
sc_apl_status($coluna[0],“on”);
}
};

Tenta fazer o lookup com o nome da conexão.

Corrigindo…

  • v5 (com erro):
    . aplicação: /pagina/webpac2/webpac_login
    . Sc: /pagina/webpac2/_lib
    . Conexão: coopfisio2

sc_lookup(ds_usuario, “select usuarioid, senha, grupo, convenio from seg_usuarios where usuarioid = ‘{usuario}’”,“coopfisio2”);

Cleyton,

Vou testar assim…
Obrigado,

Roberto

Testei com o nome da conexão (vide abaixo), mas tb não funcionou.

sc_lookup(ds_usuario, “select usuarioid, senha, grupo, convenio from seg_usuarios where usuarioid = ‘{usuario}’”,“coopfisio2”);

Pq não usa apenas uma pasta prod para todos os projetos publicados, já que estão na mesma raiz. Facilitaria o trabalho com várias conexões.

esse backup que voce estar realizando no localhost, estar funcionando corretamente no servidor?