Olá,
Tenho uma aplicação do tipo blank, e nela tenho um código semelhante ao abaixo:
[code]$sql1 = “comando SELECT SQL”;
sc_lookup(rst1, $sql1);
foreach({rst1} as $v)
{
$sql2 = “COMANDO SELECT SQL”;
sc_lookup(rst2, $sql2);
foreach({rst2} as $v2)
{
/CODIGO PARA COMUNICACAO EXTERNA VIA CURL/
}
}[/code]
O código acima apenas executa um select e pra cada registro percorrido executa outro e também o percorre, e para cada item é executado o CURL para outro servidor, e propositalmente este script chamado consome 4 segundos para responder.
E como resultado após 10 segundos o erro mysql server has gone away PDO:execute() é retornado.
Mesmo que eu faça os selects acima, armazene o resultado em outro array, e depois faça a conexão com CURL o erro é o mesmo.
Precisaria ajustar esse tempo no BD, mas não tenho essa opção por ser compartilhado.
A solução é abrir a conexão e fechar em seguida, para cada ciclo do foreach, dessa forma o tempo limite não será excedido. Utilizando os comandos nativos do PHP é possível fazer isso, porém perco as facilidades de gerenciamento de conexões do scriptcase (V9), que é não precisar deixar senha e usuário e host no código fonte, e sim num gerenciador do scriptcase.
Não encontrei alguma macro do scriptcase para fazer abertura e fechamento de conexão.
Alguém pode me dar uma força?
Obrigado desde já.