우리는 32 클라이언트 데이터베이스, 일부는 (. V.11 현재, 호스팅 및 Mac의 구축) 레코드의 수백만, 크고 있습니다. Windows 2012 64x Server에 웹 사이트를 구축하고 PDO의 마지막 버전을 PHP 버전과 함께 포함 시켰습니다 (PHP 5.2.8의 Xamp 2.5). 플러그인과 Apache는 32x입니다.새로운 PDO의 PDO_4D 컴파일
내 웹 페이지는 4D SQL 서버의 모든 32 클라이언트에 연결하고 몇 가지 SQL을 선택 채석장을 실행합니다. 내가 만나는 문제는 설명하기가 거의 불가능합니다. 몇몇 수색 기간에 때때로 때때로 작동하고 때때로이지 않는다. 내 말은, "jone doe"를 검색하면 결과가 나옵니다. 후자를 변경하면 클라이언트의 SQL 연결 핸들러가 매달리고 웹 페이지가 시간 초과됩니다.
패턴이 없음을 유의하십시오. 일부 검색은 하나의 클라이언트에 매달려 있습니다. 일부는 2 또는 3입니다. 다른 검색은 동일하지만 다른 클라이언트입니다. 특정 수의 13 자에 대한 하나의 검색 만 모든 클라이언트를 통과하며 완벽하게 작동합니다. 또한 특정 테이블과 열을 대상으로하고 있으므로 SQL 쿼리가 문제가 아니므로 검색 상자가 거의없고 모든 단일 검색 또는 OR SQL이며 약 4- 6 개의 열을 사용하여 하나의 선택 쿼리에 대한 결과를 표시합니다.
또한 사설 네트워크에서 작동합니다. 그래서 연결도 문제가 아닙니다. 나는 그 결과가 하나의 연결 당 최대 0 - 50이 될 수 있다고 덧붙일 것이다. 때문에 너무 많은 데이터를 선택 일부 쿼리에 난 정말이 PDO 제한 문제입니다 희망
function trazi($dbaza) {
global $db; global $db2; global $db3; global $db4; global $db5; global $db6; global $db7;
global $db8; global $db9; global $db10; global $db11; global $db12; global $db13; global
$db14; global $db15; global $db16; global $db17; global $db18; global $db19; global $db20;
global $db21; global $db22; global $db23; global $db24; global $db25; global $db26; global $db27;
global $db28; global $db29; global $db30; global $db31; global $db32;
global $inime; global $inoib; global $inbb; global $inbbroj; global $insb;
$odabrani = $dbaza->prepare('SELECT STANJE, SUD_BROJ_O, SUD_BROJ_P, SUD_BROJ_JBR , NAZIV_LONG, OIB FROM PREDMETI WHERE SUD_BROJ_O = ? ');
$params = array($insb);
$odabrani->execute($params);
$rezultat = $odabrani->fetchAll(PDO::FETCH_ASSOC);
unset($dbaza);
unset($odabrani);
if ($rezultat) {
<th>Ime i prezime</th>
<th>OIB</th>
<th>Bilježnički broj</th>
<th>Sudski parnički broj</th>
<th>Sudski ovršni broj</th>
<th>Stanje predmeta</th>';
foreach($rezultat as $row) {
echo "<tr>
<td>".$row['NAZIV_LONG']. "</td>".
"<td>".$row['OIB']."</td>".
"<td>".$row['SUD_BROJ_JBR']."</td>".
"<td>".$row['SUD_BROJ_P']."</td>".
"<td>".$row['SUD_BROJ_O']."</td>".
"<td>".$row['STANJE']."</td>".
"</tr>";
}
echo "</table>";
} else {
echo "Vaša pretraga nije pronašla niti jedan rezultat.";
}
}
unset($rezultat);
//ATLANTIC
echo '<br><br><div style="color:#922E19">ATLANTIC</div>';
trazi($db);
ob_implicit_flush(true);
$buffer = str_repeat(" ", 4096);
echo $buffer;
ob_flush(); usleep(300000);
//CEDEVITA
echo '<br><br><div style="color:#922E19">CEDEVITA</div>';
trazi($db2);
ob_implicit_flush(true);
$buffer = str_repeat(" ", 4096);
echo $buffer;
ob_flush(); usleep(300000);
ETC...
:
연결이 코드의 나머지 부분입니다, 최대 정의 : 여기에 코드 샘플을 제거한다 그리고 휴식.
문제 : 나는 4D PDO 소스 파일을 변경 한 및 제한 사항을 변경했습니다. 그러나 나는 그것을 컴파일 할 수 없다. 어떻게 알 수 없다. 나는 PC를 가지고 있지 않다. 나의 서버는이 주제에 쓸모가 없다. 나는 Mac에있다. 누군가가이 변경 사항으로 DLL을 컴파일하도록 도울 수 있습니까? 변경 사항이있는 zip 파일을 첨부하겠습니다.
http://forums.4d.fr/4DBB_Main/x_User/18851165/files/18851204.zip
편집; 또는 누군가가 나에게 버그 수정과 함께이 버전을 컴파일 할 수 있습니까? https://github.com/famsf/pecl-pdo-4d
나는 PHP/5.3.8 32 비트를 사용하고 있습니다. 누군가가이 스레드 대답 is here 건너 경우
거룩한 몰리, * 얼마나 많은 * 전역 변수 ?? 배열 들었어? –
당신은이 이야기를 * short *라고 부릅니까? –
그래서 우리는 문제의 실제 원인이 무엇인지 알아내는 대신에 당신을 위해 당신의 일을하도록 요구하고 있습니다. 그래서 당신 자신이 일을 할 수 있습니까? –