Bom dia.
Quando gero e executo o menu novo por dentro do SC 9.11.002, não tenho problema. Quando publico o projeto e executo o menu novo apresenta a seguinte mensagem de erro:
Ocorreu um erro durante a conexão com o banco de dados:
I/O error during “open” operation for file “” Error while trying to open file No such file or directory
Editei o arquivo index.php (da aplicação MENU). E localizei o erro na linha:
$this->nm_db_conn_ibase = db_conect($this->nm_con_conn_ibase[‘tpbanco’], $this->nm_con_conn_ibase[‘servidor’], $this->nm_con_conn_ibase[‘usuario’], $this->nm_con_conn_ibase[‘senha’], $this->nm_con_conn_ibase[‘banco’], $glo_senha_protect, ‘S’, ‘N’, ‘’, $this->nm_con_conn_ibase[‘database_encoding’], $this->nm_con_conn_ibase[‘nm_arr_db_extra_args’]);
Os itens do vetor $this->nm_con_conn_ibase, não estão sendo atribuídos.
Minhas aplicações ao publicar, não informo a conexão, e para cada cliente tem um index que chama o projeto passando as variáveis de conexão:
$_SESSION[‘scriptcase’][‘glo_tpbanco’] = ‘FIREBIRD’;
$_SESSION[‘scriptcase’][‘glo_usuario’] = ‘sysdba’;
$_SESSION[‘scriptcase’][‘glo_senha’] = ‘masterkey’;
$_SESSION[‘scriptcase’][‘glo_senha_protect’] = ‘N’;
$_SESSION[‘scriptcase’][‘glo_servidor’] = ‘servidor/porta’;
$_SESSION[‘scriptcase’][‘glo_banco’] = ‘caminho do banco de dados no servidor’;
Sempre foi dessa forma, e na aplicação de MENU anterior, mesmo na versão 9.11.002, funciona normalmente.
Inseri manualmente no index.php da aplicação MENU (antes da linha que apresenta o erro):
if (isset($this->nm_con_conn_ibase[‘servidor’])) $this->nm_con_conn_ibase[‘servidor’] = ‘’;
if (empty($this->nm_con_conn_ibase[‘servidor’]))
{
$this->nm_con_conn_ibase[‘servidor’] = $_SESSION[‘scriptcase’][‘glo_servidor’];
$this->nm_con_conn_ibase[‘usuario’] = $_SESSION[‘scriptcase’][‘glo_usuario’];
$this->nm_con_conn_ibase[‘banco’] = $_SESSION[‘scriptcase’][‘glo_banco’];
$this->nm_con_conn_ibase[‘senha’] = $_SESSION[‘scriptcase’][‘glo_senha’];
$this->nm_con_conn_ibase[‘tpbanco’] = $_SESSION[‘scriptcase’][‘glo_tpbanco’];
$this->nm_con_conn_ibase[‘decimal’] = $_SESSION[‘scriptcase’][‘glo_decimal_db’];
$this->nm_con_conn_ibase[‘protect’] = $_SESSION[‘scriptcase’][‘glo_senha_protect’];
$this->nm_con_conn_ibase[‘SC_sep_date’] = $_SESSION[‘scriptcase’][‘glo_date_separator’];
$this->nm_con_conn_ibase[‘database_encoding’] = isset($_SESSION[‘scriptcase’][‘glo_database_encoding’])?$_SESSION[‘scriptcase’][‘glo_database_encoding’]:’’;
$this->nm_con_conn_ibase[‘nm_arr_db_extra_args’] = array();
if (isset($_SESSION[‘scriptcase’][‘glo_use_ssl’]))
{
$this->nm_con_conn_ibase[‘nm_arr_db_extra_args’][‘use_ssl’] = $_SESSION[‘scriptcase’][‘glo_use_ssl’];
}
if (isset($_SESSION[‘scriptcase’][‘glo_mysql_ssl_key’]))
{
$this->nm_con_conn_ibase[‘nm_arr_db_extra_args’][‘mysql_ssl_key’] = $_SESSION[‘scriptcase’][‘glo_mysql_ssl_key’];
}
if (isset($_SESSION[‘scriptcase’][‘glo_mysql_ssl_cert’]))
{
$this->nm_con_conn_ibase[‘nm_arr_db_extra_args’][‘mysql_ssl_cert’] = $_SESSION[‘scriptcase’][‘glo_mysql_ssl_cert’];
}
if (isset($_SESSION[‘scriptcase’][‘glo_mysql_ssl_capath’]))
{
$this->nm_con_conn_ibase[‘nm_arr_db_extra_args’][‘mysql_ssl_capath’] = $_SESSION[‘scriptcase’][‘glo_mysql_ssl_capath’];
}
if (isset($_SESSION[‘scriptcase’][‘glo_mysql_ssl_ca’]))
{
$this->nm_con_conn_ibase[‘nm_arr_db_extra_args’][‘mysql_ssl_ca’] = $_SESSION[‘scriptcase’][‘glo_mysql_ssl_ca’];
}
if (isset($_SESSION[‘scriptcase’][‘glo_mysql_ssl_cipher’]))
{
$this->nm_con_conn_ibase[‘nm_arr_db_extra_args’][‘mysql_ssl_cipher’] = $_SESSION[‘scriptcase’][‘glo_mysql_ssl_cipher’];
}
}
A aplicação passou a funcionar.
OBS: Já comuniquei isso por email.