Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com um problema que minha consulta sql, ela para a sua execução ao chegar em 20seg de execução.
uso a função sqlsrv_query para consultar em um banco local sqlserver, o sistema roda local.
O resultado da consulta deverá ter mais de 1500 registros isso pode levar em média 2min para gerar e ela me corta em 20seg e me mostra somente os registros que gerou até os 20seg.
o sql é uma inserção de registros e quando chega a 20seg de execução só insere 78 registros sendo que tem mais de 1500 para inserir.
já usei e não adiantou :
set_time_limit(0);
ini_set('mysql.connect_timeout','0');
ini_set('max_execution_time', '0');
Aguardo ajuda.
Olá gente estou com um problema.
É que estou tentado fazer uma consulta a partir de uma informação que colocar em um textfield. Mas não estou conseguindo
puchar do banco as demais informações do banco. Identifiquei o erro mas não sei como trata-lo.
vou mandar o código.
// formulario onde fica o textfield
<html lang="pt-BR" xml:lang="pt">
<style type="text/css">
#menu ul li a {
font-family: Verdana, Geneva, sans-serif;
}
#menu ul li a {
color: #00F;
}
#menu ul li a {
color: #033;
font-family: Verdana, Geneva, sans-serif;
}
.Oswald {
font-family: Oswald;
font-size: 9px;
}
.Oswald #menu ul li a {
font-family: Oswald;
font-size: 20px;
}
body {
background-image: url();
margin-left: 2px;
margin-right: 2px;
}
.Oswald #content div div table tr td big a {
text-align: center;
}
</style>
</head>
<?
include "css.php";
?>
<body class="Oswald">
<div id="fundo_paginas">
<div id="geral_paginas">
<div class="saudacoes">
<span style="font-size:18px">
<div id="content">
<div align="center">
<div>
<big><a></a></big>
<table width="334" border="0">
<tr>
<td width="328" bgcolor="#66CCFF"><big><a>Consultas Específica de Cardápios</a></big></td>
</tr>
</table>
</div>
<p> </p>
<p><img src="css/images/img.jpg" width="143" height="156" longdesc="css/images/menu.jpg" /><span style="font-family: Oswald"></span></p>
</br>
</div>
<center>
<div id="campInicial">
<form id="coluna4" name="consulta" method="post" action="selectcard1.php">
<label for="menucard"></label>
<label for="idcardapio"></label>
<table width="461" border="0">
<tr>
<td width="93" bgcolor="#FFFFFF"><strong>Consultar :</strong></td>
<td width="114"><select name="menucard" id="menucard">
<option selected="selected">Selecione...</option>
<option>Id</option>
<option>Especificação</option>
<option>Gênero</option>
</select></td>
<td width="144"><input name="idcardapio" type="text" id="idcardapio" value=""></td>
<td width="92"><input type="image" name="imageField" id="imageField" src="imagens/pesquisarButton2.gif"></td>
</tr>
</table>
</form>
</div>
<p></p>
</center>
</div>
</body>
</html>
// conexao com o banco para o select
<html>
<body>
<?php
include ("conexao.php");
?>
<div id="content">
<div align="center">
<big><a>Consulta de Cardápio</a></big>
</br>
</div>
<center>
<div>
</br>
<div>
<strong><big><a>Resultado da Consulta</a></big></strong>
</div>
</br>
<?php
$idcardapio= $_POST['idcardapio'];
$especificacao= $_POST['especificacao'];
$genero= $_POST['genero'];
$result = mysql_query("SELECT * FROM tbcardapio WHERE idcardapio = '$idcardapio' ");
echo "<table border='1'>
<tr>
<th>Nº do Cardápio:</th>
<th>Especificação:</th>
<th>Gênero:</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['idcardapio'] . "</td>";
echo "<td>" . $row['especificacao'] . "</td>";
echo "<td>" . $row['genero'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "</br>";
mysql_close($con);
?>
<form id="coluna4" method="post" action="deletecard.php">
<table width="380" border="0">
<tr>
<td>Número do Cardápio: </td>
<td><input name="idcardapio" type="text"></td>
<td><input type="image" name="imageField" id="imageField" src="imagens/button_delete.gif"></td>
</tr>
</table>
</br>
</form>
</div>
<p></p>
</center>
</div>
</body>
</html>>
No php.ini, "max_execution_time" define o tempo máximo que um script php pode rodar, se você alterar ele, talvez resolva, mas isso afeta todo o sistema. Têm que alterar e reiniciar o servidor web.
Nunca precisei executar sqls tão demoradas pelo php. Quando precisava fazer isso, usava o terminal e normalmente era para recuperação de tabelas Myisam.
Já modifiquei no .ini o max_execution_time para 60 e continua parando a execução em 20seg.
Já usei também o set_time_limit(60); e não resolve, para a execução em 20seg.
Aguardo ajuda.
mais ninguém com alguma sugestão?
Isso é um servidor online ou você está trabalhando em localhost? Se for um servidor externo entre em contato com o host, mas provavelmente eles não vão alterar o tempo de execução para não prejudicar o resto dos serviços.
Isso é um servidor online ou você está trabalhando em localhost? Se for um servidor externo entre em contato com o host, mas provavelmente eles não vão alterar o tempo de execução para não prejudicar o resto dos serviços.
Obrigado por responder, é um servidor localhost.
Acho, que talvez o navegador esteja forçando a interrupção do script, mandando um stop para o php.
Na documentação têm informações sobre como proceder.
http://www.php.net/manual/pt_BR/features.connection-handling.php
Acho que deve resolver.
Se não funcionar, tente executar via CLI.
>
Acho, que talvez o navegador esteja forçando a interrupção do script, mandando um stop para o php.
Na documentação têm informações sobre como proceder.
http://www.php.net/manual/pt_BR/features.connection-handling.php
Acho que deve resolver.
Se não funcionar, tente executar via CLI.
Cara usei todas as funções desse documento e não estou conseguindo que a execução da consulta sql passe dos 20seg.
Valew pela atenção, mais preciso muito resolver isso.
No php.ini, "max_execution_time" define o tempo máximo que um script php pode rodar, se você alterar ele, talvez resolva, mas isso afeta todo o sistema. Têm que alterar e reiniciar o servidor web.
Nunca precisei executar sqls tão demoradas pelo php. Quando precisava fazer isso, usava o terminal e normalmente era para recuperação de tabelas Myisam.