67 lines
2.5 KiB
PHP
67 lines
2.5 KiB
PHP
<?php
|
|
if (!isset($_GET['key']) || $_GET['key'] !== 'diag2026') {
|
|
die('403');
|
|
}
|
|
|
|
$params = require __DIR__ . '/app/config/parameters.php';
|
|
$p = $params['parameters'];
|
|
|
|
$pdo = new PDO(
|
|
"mysql:host={$p['database_host']};dbname={$p['database_name']};charset=utf8",
|
|
$p['database_user'],
|
|
$p['database_password']
|
|
);
|
|
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
|
|
$prefix = $p['database_prefix'];
|
|
$id = 20792;
|
|
|
|
echo "<pre>\n";
|
|
|
|
// Ile wierszy omnibus dla tego produktu
|
|
echo "=== omnibus_eu_free dla produktu $id ===\n";
|
|
$cnt = $pdo->query("SELECT COUNT(*) FROM {$prefix}omnibus_eu_free WHERE id_product = $id")->fetchColumn();
|
|
echo "Laczna liczba wierszy: $cnt\n";
|
|
|
|
$cnt_all = $pdo->query("SELECT COUNT(*) FROM {$prefix}omnibus_eu_free")->fetchColumn();
|
|
echo "Cala tabela: $cnt_all wierszy\n\n";
|
|
|
|
echo "=== Wierszy na kombinacje (top 10) ===\n";
|
|
$stmt = $pdo->query("SELECT id_product_attribute, COUNT(*) AS ile FROM {$prefix}omnibus_eu_free WHERE id_product = $id GROUP BY id_product_attribute ORDER BY ile DESC LIMIT 10");
|
|
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) echo json_encode($row) . "\n";
|
|
|
|
// Czas zapytania SELECT * dla tego produktu
|
|
echo "\n=== Czas SELECT * omnibus dla produktu (ms) ===\n";
|
|
$start = microtime(true);
|
|
$rows = $pdo->query("SELECT * FROM {$prefix}omnibus_eu_free WHERE id_product = $id ORDER BY id_omnibuseufree DESC")->fetchAll();
|
|
echo round((microtime(true) - $start) * 1000, 2) . " ms, pobranych: " . count($rows) . " wierszy\n";
|
|
|
|
// Duplikaty hookow
|
|
echo "\n=== Duplikaty hook registracji ===\n";
|
|
$stmt = $pdo->query("SELECT m.name, COUNT(*) AS rejestracji
|
|
FROM {$prefix}module m
|
|
JOIN {$prefix}hook_module hm ON m.id_module = hm.id_module
|
|
JOIN {$prefix}hook h ON hm.id_hook = h.id_hook
|
|
WHERE h.name = 'displayAdminProductsExtra'
|
|
GROUP BY m.name
|
|
HAVING rejestracji > 1");
|
|
$dups = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
if (empty($dups)) {
|
|
echo "Brak duplikatow\n";
|
|
} else {
|
|
foreach ($dups as $row) echo json_encode($row) . "\n";
|
|
}
|
|
|
|
// PHP config
|
|
echo "\n=== PHP limits ===\n";
|
|
echo "max_execution_time: " . ini_get('max_execution_time') . "s\n";
|
|
echo "memory_limit: " . ini_get('memory_limit') . "\n";
|
|
|
|
// gm_omniprice_history dla tego produktu
|
|
echo "\n=== gm_omniprice_history dla produktu $id ===\n";
|
|
$cnt2 = $pdo->query("SELECT COUNT(*) FROM {$prefix}gm_omniprice_history WHERE id_product = $id")->fetchColumn();
|
|
echo "Wierszy: $cnt2\n";
|
|
|
|
echo "</pre>";
|
|
echo "<p style='color:red'><b>PAMIETAJ: usun ten plik po diagnostyce!</b></p>";
|